<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FxComp BLOG</title>
	<atom:link href="https://fxcomp.net/feed" rel="self" type="application/rss+xml" />
	<link>https://fxcomp.net</link>
	<description>自動売買とシストレでFX攻略</description>
	<lastBuildDate>Wed, 29 Jul 2026 14:23:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>オプション取引 基本ガイド</title>
		<link>https://fxcomp.net/option-1842</link>
					<comments>https://fxcomp.net/option-1842#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Wed, 29 Jul 2026 14:23:57 +0000</pubDate>
				<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1842</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-6fa9a679-23e8-4c20-9635-5ec30ea9325d"
                class="fxcomp-html-iframe"
                title="オプション取引 基本ガイド"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-6fa9a679-23e8-4c20-9635-5ec30ea9325d-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT7jgqrjg5fjgrfjg6fjg7Plj5blvJUg5b655bqV6Kej5YmW44Ks44Kk44OJIC0g5a6f5L6L44K344Of44Ol44Os44O844K344On44Oz5LuYPC90aXRsZT4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4udGFpbHdpbmRjc3MuY29tIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jaGFydC5qcyI+PC9zY3JpcHQ+DQogICAgPHN0eWxlPg0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZmYW1pbHk9Tm90bytTYW5zK0pQOndnaHRAMzAwOzQwMDs3MDAmZGlzcGxheT1zd2FwJyk7DQogICAgICAgIGJvZHkgeyBmb250LWZhbWlseTogJ0ludGVyJywgJ05vdG8gU2FucyBKUCcsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7IGNvbG9yOiAjMWUyOTNiOyB9DQogICAgICAgIC5jaGFydC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDY1MHB4OyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBoZWlnaHQ6IDMyMHB4OyBtYXgtaGVpZ2h0OiA0NTBweDsgfQ0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsgLmNoYXJ0LWNvbnRhaW5lciB7IGhlaWdodDogMzgwcHg7IH0gfQ0KICAgICAgICAuZ3JhZGllbnQtYmcgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMWUzYThhIDAlLCAjM2I4MmY2IDEwMCUpOyB9DQogICAgICAgIC5jYXJkLWhvdmVyOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyBib3gtc2hhZG93OiAwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIDAuMSk7IH0NCiAgICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9ImFudGlhbGlhc2VkIj4NCg0KPGhlYWRlciBjbGFzcz0iZ3JhZGllbnQtYmcgdGV4dC13aGl0ZSBweS0xNiBweC00IHNoYWRvdy14bCI+DQogICAgPGRpdiBjbGFzcz0ibWF4LXctNnhsIG14LWF1dG8iPg0KICAgICAgICA8aDEgY2xhc3M9InRleHQtNHhsIG1kOnRleHQtNnhsIGZvbnQtYm9sZCBtYi00Ij7jgqrjg5fjgrfjg6fjg7Plj5blvJUg5b655bqV6Kej5YmWPC9oMT4NCiAgICAgICAgPHAgY2xhc3M9InRleHQteGwgb3BhY2l0eS05MCBtYXgtdy0yeGwgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgIOOAjOS6iOa4rOOBjOW9k+OBn+OCjOOBsOW3qOWkp+OBquWIqeebiuOAgeWkluOCjOOBpuOCguaQjeWkseOBr+mZkOWumueahOOAjeKAleKAleOBneOBruS7lee1hOOBv+OCkuWun+S+i+ODh+ODvOOCv+OBp+eQhuino+OBmeOCi+OAgg0KICAgICAgICA8L3A+DQogICAgPC9kaXY+DQo8L2hlYWRlcj4NCg0KPG1haW4gY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgcHktMTIiPg0KDQogICAgPHNlY3Rpb24gY2xhc3M9Im1iLTI0Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0ibWItMTAgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1ibHVlLTkwMCBtYi00Ij4xLiDlm5vjgaTjga7ln7rmnKzjg53jgrjjgrfjg6fjg7Pjgajli53liKnmnaHku7Y8L2gyPg0KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS02MDAgbWF4LXctM3hsIG14LWF1dG8gaXRhbGljIj4NCiAgICAgICAgICAgICAgICDjgqrjg5fjgrfjg6fjg7Pjga/ljZjjgarjgovjgIzkuojmuKzjgI3jgafjga/jgarjgY/jgIHjgIzmqKnliKnjgI3jgpLlo7LosrfjgZnjgovjgrLjg7zjg6DjgafjgZnjgIINCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtNCBnYXAtNiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBzaGFkb3cteGwgZmxleCBmbGV4LWNvbCBjYXJkLWhvdmVyIGJvcmRlci1iLTggYm9yZGVyLWJsdWUtODAwIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgaXRhbGljIG1iLTEiPkNBTEwgQlVZPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG9wYWNpdHktODAgbWItNCBmb250LWJvbGQiPuOCs+ODvOODq++8iOiyt+OBhuaoqeWIqe+8ieOBruiyt+OBhDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlLzIwIHJvdW5kZWQtbGcgcC0zIG1iLTQgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPvCfk4gg6LK35YCk44GL44KJ44CM5LiK44GS44Gf44KJ44CN5Yud44GhPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIG1iLTQgZmxleC1ncm93IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOagquS+oeOBjOaoqeWIqeihjOS9v+S+oeagvOOCkuWkp+OBjeOBj+i2heOBiOOCi+OBu+OBqeWIqeebiuOAgg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgbXQtMiBmb250LWJvbGQgdGV4dC1ibHVlLTIwMCI+44CQ5Yip55uK44GM54Sh6ZmQ5aSn44Gu55CG55Sx44CRPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICDmoKrkvqHjga7kuIrmmIfjgavjga/nkIboq5bkuIrjgIzlpKnkupXjgI3jgYzjgarjgYTjgZ/jgoHjgIHkvqHmoLzjgYzkuIrjgYzjgozjgbDkuIrjgYzjgovjgbvjganliKnnm4rjga/pnZLlpKnkupXjgavkvLjjgbPntprjgZHjgb7jgZnjgIINCiAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIGJnLWJsdWUtNTAwLzUwIHB5LTIgcm91bmRlZC1sZyB0ZXh0LWNlbnRlciBmb250LWJvbGQiPuacn+W+he+8mueEoemZkOOBruWIqeebijwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWFtYmVyLTUwMCB0ZXh0LXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBzaGFkb3cteGwgZmxleCBmbGV4LWNvbCBjYXJkLWhvdmVyIGJvcmRlci1iLTggYm9yZGVyLWFtYmVyLTcwMCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIGl0YWxpYyBtYi0xIj5DQUxMIFNFTEw8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3Qgb3BhY2l0eS04MCBtYi00IGZvbnQtYm9sZCI+44Kz44O844Or77yI6LK344GG5qip5Yip77yJ44Gu5aOy44KKPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUvMjAgcm91bmRlZC1sZyBwLTMgbWItNCB0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWxnIGZvbnQtYm9sZCI+8J+TiSDjgIzkuIrjgYzjgonjgarjgZHjgozjgbDjgI3li53jgaE8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gbWItNCBmbGV4LWdyb3cgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgICAgICAgICAg5qCq5L6h44GM5YGc5rue44G+44Gf44Gv5LiL6JC944GZ44KM44Gw44CB5Y+X44GR5Y+W44Gj44Gf44OX44Os44Of44Ki44Og44GM44Gd44Gu44G+44G+5Yip55uK44CCDQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBtdC0yIj7osrfjgYTmiYvjga7liKnnm4rjgYznhKHpmZDjgafjgYLjgovjgZPjgajjga7oo4/ov5TjgZfjgajjgZfjgabjgIHlo7LjgormiYvjga/jgIznhKHpmZDjga7mkI3lpLHjg6rjgrnjgq/jgI3jgpLosqDjgYbjg4/jgqTjg6rjgrnjgq/jgarlgbTjgafjgZnjgII8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctZnVsbCBiZy1hbWJlci00MDAvNTAgcHktMiByb3VuZGVkLWxnIHRleHQtY2VudGVyIGZvbnQtYm9sZCI+44Oq44K544Kv77ya54Sh6ZmQ44Gu5pCN5aSxPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctcm9zZS02MDAgdGV4dC13aGl0ZSBwLTYgcm91bmRlZC0yeGwgc2hhZG93LXhsIGZsZXggZmxleC1jb2wgY2FyZC1ob3ZlciBib3JkZXItYi04IGJvcmRlci1yb3NlLTgwMCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIGl0YWxpYyBtYi0xIj5QVVQgQlVZPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG9wYWNpdHktODAgbWItNCBmb250LWJvbGQiPuODl+ODg+ODiO+8iOWjsuOCi+aoqeWIqe+8ieOBruiyt+OBhDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlLzIwIHJvdW5kZWQtbGcgcC0zIG1iLTQgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPvCfk4kg6LK35YCk44GL44KJ44CM5LiL44GS44Gf44KJ44CN5Yud44GhPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIG1iLTQgZmxleC1ncm93IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOaatOiQveaZguOBq+e1tuWkp+OBquWogeWKm+OCkueZuuaPruOAgg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgbXQtMiBmb250LWJvbGQgdGV4dC1yb3NlLTIwMCI+44CQ5Yip55uK44GM5beo5aSn44Gq55CG55Sx44CRPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICDmoKrkvqHjgYzjgIww44CN44Gr44Gq44KL44G+44Gn5Yip55uK44Gv6Iao44KJ44G/44G+44GZ44CC54m544Gr5oCl6JC95pmC44Gv44Oc44Op44OG44Kj44Oq44OG44Kj77yI5aSJ5YuV546H77yJ44Gu5LiK5piH44KC6YeN44Gq44KK44CB5oqV6LOH6aGN44Gu5pWw55m+5YCN44Gr44Gq44KL44GT44Go44KC44GC44KK44G+44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctZnVsbCBiZy1yb3NlLTUwMC81MCBweS0yIHJvdW5kZWQtbGcgdGV4dC1jZW50ZXIgZm9udC1ib2xkIj7mnJ/lvoXvvJrlt6jlpKfjgarliKnnm4o8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1lbWVyYWxkLTYwMCB0ZXh0LXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBzaGFkb3cteGwgZmxleCBmbGV4LWNvbCBjYXJkLWhvdmVyIGJvcmRlci1iLTggYm9yZGVyLWVtZXJhbGQtODAwIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgaXRhbGljIG1iLTEiPlBVVCBTRUxMPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG9wYWNpdHktODAgbWItNCBmb250LWJvbGQiPuODl+ODg+ODiO+8iOWjsuOCi+aoqeWIqe+8ieOBruWjsuOCijwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlLzIwIHJvdW5kZWQtbGcgcC0zIG1iLTQgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPvCfk4gg44CM5LiL44GM44KJ44Gq44GR44KM44Gw44CN5Yud44GhPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIG1iLTQgZmxleC1ncm93IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOebuOWgtOOBjOOAjOOBk+OCjOS7peS4iuS4i+OBjOOCieOBquOBhOOAjeOBqOimi+OCi+aZguOBq+OAgeS/nemZuuaWmeOCkuWPl+OBkeWPluOCi+aIpueVpeOBp+OBmeOAgg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgbXQtMiI+55u45aC044GM5qiq44Gw44GE44Gn44KC5Yip55uK44GM5Ye644KL44Gf44KB5Yud546H44Gv6auY44GE44Gn44GZ44GM44CB5pq06JC95pmC44Gr44Gv6I6r5aSn44Gq5pCN5aSx44GM55Sf44GY44G+44GZ44CCPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LWZ1bGwgYmctZW1lcmFsZC01MDAvNTAgcHktMiByb3VuZGVkLWxnIHRleHQtY2VudGVyIGZvbnQtYm9sZCI+44Oq44K544Kv77ya5beo5aSn44Gq5pCN5aSxPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gY2xhc3M9Im1iLTI0IGJnLXNsYXRlLTEwMCAtbXgtNCBweC00IHB5LTE2IHJvdW5kZWQtWzJyZW1dIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctNnhsIG14LWF1dG8iPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1ibHVlLTkwMCBtYi04IGJvcmRlci1sLTggYm9yZGVyLWJsdWUtNjAwIHBsLTQiPjIuIOWPjuebiuOBruWun+S+i+OCt+ODn+ODpeODrOODvOOCt+ODp+ODszwvaDI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0yIGdhcC0xMiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcC04IHJvdW5kZWQtMnhsIHNoYWRvdy1sZyI+DQogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNiBmbGV4IGl0ZW1zLWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTYwMCBweC0zIHB5LTEgcm91bmRlZC1mdWxsIHRleHQtc20gbXItMyI+5L6L77ya44Kz44O844Or6LK344GEPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAg5pel57WMMjI144GM5LiK44GM44KL44Go5LqI5oOzDQogICAgICAgICAgICAgICAgICAgIDwvaDM+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNCBtYi04Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1iIHBiLTIiPjxzcGFuIGNsYXNzPSJ0ZXh0LWdyYXktNjAwIj7mqKnliKnooYzkvb/kvqHmoLw8L3NwYW4+PHNwYW4gY2xhc3M9ImZvbnQtYm9sZCI+NDAsMDAw5YaGPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLWIgcGItMiI+PHNwYW4gY2xhc3M9InRleHQtZ3JheS02MDAiPuODl+ODrOODn+OCouODoO+8iOiyt+WApO+8iTwvc3Bhbj48c3BhbiBjbGFzcz0iZm9udC1ib2xkIj41MDDlhoY8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiBmb250LWJvbGQgdGV4dC1sZyBwdC0yIHRleHQtYmx1ZS02MDAiPjxzcGFuPuaQjeebiuWIhuWykOeCuTwvc3Bhbj48c3Bhbj40MCw1MDDlhoY8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0icGF5b2ZmQ2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNiI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWVtZXJhbGQtNTAgcC02IHJvdW5kZWQtMnhsIGJvcmRlci1sLTQgYm9yZGVyLWVtZXJhbGQtNTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1lbWVyYWxkLTgwMCBmb250LWJvbGQgdGV4dC1sZyBtYi0yIGZsZXggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDinIUg5LqI5ris44GM5b2T44Gf44Gj44Gf5pmC77yI5aSn5Yud5Yip44OR44K/44O844Oz77yJDQogICAgICAgICAgICAgICAgICAgICAgICA8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZW1lcmFsZC03MDAgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDmuoDmnJ/jgavml6XntYwyMjXjgYwgPHNwYW4gY2xhc3M9ImZvbnQtYm9sZCI+NDIsMDAw5YaGPC9zcGFuPiDjgb7jgafkuIrmmIfjgZfjgZ/loLTlkIjvvJo8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5Yip55uKID0gKDQyLDAwMCAtIDQwLDAwMCkgLSA1MDAgPSA8c3BhbiBjbGFzcz0idGV4dC14bCBmb250LWJvbGQiPjEsNTAw5YaGPC9zcGFuPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbSI+44Of44OLKDEwMOWAjSnjgarjgokgMTXkuIflhobjga7liKnnm4rvvIjmipXos4fpoY0gNeS4h+WGhuOBjCAz5YCN44Gr77yB77yJPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctcm9zZS01MCBwLTYgcm91bmRlZC0yeGwgYm9yZGVyLWwtNCBib3JkZXItcm9zZS01MDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXJvc2UtODAwIGZvbnQtYm9sZCB0ZXh0LWxnIG1iLTIgZmxleCBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKdjCDkuojmuKzjgYzlpJbjgozjgZ/mmYLvvIjlpKfmmrTokL3jg5Hjgr/jg7zjg7PvvIkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1yb3NlLTcwMCBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIOa6gOacn+OBq+aXpee1jDIyNeOBjCA8c3BhbiBjbGFzcz0iZm9udC1ib2xkIj4zOCwwMDDlhoY8L3NwYW4+IOOBvuOBp+aatOiQveOBl+OBn+WgtOWQiO+8mjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDmqKnliKnjgpLmlL7mo4TjgZnjgovjgaDjgZHjgafjgojjgYTjgZ/jgoHjgIHmkI3lpLHjga/mlK/miZXjgaPjgZ/jg5fjg6zjg5/jgqLjg6AgPHNwYW4gY2xhc3M9InRleHQteGwgZm9udC1ib2xkIj41MDDlhobjga7jgb88L3NwYW4+44CCPGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXNtIj4yLDAwMOWGhuOBruaatOiQveOBjOOBguOBo+OBpuOCguOAgeaQjeWkseOBrzUwMOWGhuOBq+WbuuWumuOBleOCjOOBvuOBmeOAguOBk+OCjOOBjOOCquODl+OCt+ODp+ODs+acgOWkp+OBrumYsuW+oeWKm+OBp+OBmeOAgjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktNTAgcC02IHJvdW5kZWQtMnhsIGJvcmRlci1sLTQgYm9yZGVyLWdyYXktNDAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1ncmF5LTgwMCBmb250LWJvbGQgdGV4dC1sZyBtYi0yIGZsZXggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDimqDvuI8g44CM5b2T44Gf44KK44CN44Gn44KC5Yip55uK44GM5Ye644Gq44GE5pmCDQogICAgICAgICAgICAgICAgICAgICAgICA8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDmuoDmnJ/jgavml6XntYwyMjXjgYwgPHNwYW4gY2xhc3M9ImZvbnQtYm9sZCI+NDAsMjAw5YaGPC9zcGFuPiDjgaDjgaPjgZ/loLTlkIjvvJo8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5qip5Yip6KGM5L2/44Gv44Gn44GN44G+44GZ44GM44CB44OX44Os44Of44Ki44OgNTAw5YaG44KS5omV44Gj44Gm44GE44KL44Gf44KBIDMwMOWGhuOBrui1pOWtl+OAgjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbSI+44CM5LqI5ris44Gu5pa55ZCR5oCn44CN44Gg44GR44Gn44Gq44GP44CM44OX44Os44Of44Ki44Og5Lul5LiK44Gu5aSJ5YuV44CN44GM5b+F6KaB44Gn44GZ44CCPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiBjbGFzcz0ibWItMjQiPg0KICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWJsdWUtOTAwIG1iLTEwIHRleHQtY2VudGVyIj4zLiDluILloLTjga7opo/mqKHmhJ/jgajnibnmrorjg6rjgrnjgq88L2gyPg0KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC0xMiBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcC04IHJvdW5kZWQtMnhsIHNoYWRvdy1sZyI+DQogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWNlbnRlciBmb250LWJvbGQgdGV4dC1sZyBtYi02Ij7ml6XntYwyMjXllYblk4Hjga7jg6zjg5Djg6zjg4Pjgrjmr5Tnjoc8L2g0Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9Im11bHRpcGxpZXJDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9Im10LTYgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIj7jg6njg7zjgrjjgIHjg5/jg4vjgIHjg57jgqTjgq/jg63jga7lj5blvJXlgI3njofmr5TovIPjgILos4fph5Hlirnnjofjga7pq5jjgZXjgYzjgo/jgYvjgorjgb7jgZnjgII8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlIHAtOCByb3VuZGVkLTJ4bCBzaGFkb3ctbGcgYm9yZGVyLXQtOCBib3JkZXItcm9zZS01MDAiPg0KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1jZW50ZXIgZm9udC1ib2xkIHRleHQtbGcgbWItNiB0ZXh0LXJvc2UtNjAwIj7mnIDorabmiJLjgZnjgbnjgY3jgIxJVuOCr+ODqeODg+OCt+ODpeOAjTwvaDQ+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0iaXZDcmFzaENoYXJ0Ij48L2NhbnZhcz4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibXQtNiB0ZXh0LXNtIHRleHQtZ3JheS02MDAiPg0KICAgICAgICAgICAgICAgICAgICDmsbrnrpfjgarjganlpKfjgY3jgarjgqTjg5njg7Pjg4jjgYzntYLjgo/jgovjgajjgIHjg5zjg6njg4bjgqPjg6rjg4bjgqMoSVYp44GM5oCl6JC944GX44CB5qCq5L6h44GM5aSJ44KP44KJ44Gq44GP44Gm44KC44Kq44OX44K344On44Oz5L6h5qC844GM5pq06JC944GX44G+44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIGNsYXNzPSJtYi0yNCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTR4bCBteC1hdXRvIj4NCiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtYmx1ZS05MDAgbWItOCBib3JkZXItbC04IGJvcmRlci12aW9sZXQtNTAwIHBsLTQiPjQuIOikh+mbkeOBquS+oeagvOW9ouaIkO+8muOCsOODquODvOOCr+OCueaMh+aomTwvaDI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZSBwLTEwIHJvdW5kZWQtMnhsIHNoYWRvdy1sZyBmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtMTIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctZnVsbCBtZDp3LTEvMiBjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJncmVla3NDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIG1kOnctMS8yIj4NCiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij48c3BhbiBjbGFzcz0iYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTYwMCBmb250LWJvbGQgcHgtMiBweS0xIHJvdW5kZWQgbXItMyI+RGVsdGE8L3NwYW4+PGRpdj48c3Ryb25nPuODh+ODq+OCvzo8L3N0cm9uZz4g5qCq5L6h44GMMeWGhuWLleOBhOOBn+aZguOBruOCquODl+OCt+ODp+ODs+S+oeagvOOBruWkieWLleW5hTwvZGl2PjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPjxzcGFuIGNsYXNzPSJiZy12aW9sZXQtMTAwIHRleHQtdmlvbGV0LTYwMCBmb250LWJvbGQgcHgtMiBweS0xIHJvdW5kZWQgbXItMyI+VGhldGE8L3NwYW4+PGRpdj48c3Ryb25nPuOCu+ODvOOCvzo8L3N0cm9uZz4g5pmC6ZaT44Gu57WM6YGO44Go44Go44KC44Gr5rib5bCR44GX44Gm44GE44GP5L6h5YCk77yI5pmC6ZaT5rib5L6h77yJPC9kaXY+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+PHNwYW4gY2xhc3M9ImJnLXJvc2UtMTAwIHRleHQtcm9zZS02MDAgZm9udC1ib2xkIHB4LTIgcHktMSByb3VuZGVkIG1yLTMiPlZlZ2E8L3NwYW4+PGRpdj48c3Ryb25nPuODmeOCrDo8L3N0cm9uZz4g5LqI5oOz5aSJ5YuV546HKElWKeOBjDEl5YuV44GE44Gf5pmC44Gu5L6h5qC85aSJ5YyWPC9kaXY+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCjwvbWFpbj4NCg0KPGZvb3RlciBjbGFzcz0iYmctYmx1ZS05NTAgdGV4dC13aGl0ZSBweS0xNiBweC00Ij4NCiAgICA8ZGl2IGNsYXNzPSJtYXgtdy00eGwgbXgtYXV0byB0ZXh0LWNlbnRlciI+DQogICAgICAgIDxkaXYgY2xhc3M9Im1iLTggdGV4dC01eGwiPvCfj5vvuI88L2Rpdj4NCiAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNiI+5oqV6LOH44Gv55CG6KuW44Go5rqW5YKZ44GM44GZ44G544GmPC9oMj4NCiAgICAgICAgPHAgY2xhc3M9Im9wYWNpdHktNzAgbGVhZGluZy1yZWxheGVkIG1iLTggdGV4dC1sZyI+DQogICAgICAgICAgICDjgqrjg5fjgrfjg6fjg7Plj5blvJXjga/jgIHmlbDlrabjgavoo4/miZPjgaHjgZXjgozjgZ/pq5jluqbjgarjg6rjgrnjgq/nrqHnkIbjg4Tjg7zjg6vjgafjgZnjgII8YnI+DQogICAgICAgICAgICDnibnjgavjgIzlo7LjgorjgI3jgYvjgonlhaXjgovpmpvjga/jgIHoqLzmi6Dph5HliLbluqbjgpLmt7HjgY/nkIbop6PjgZfjgIHkvZnlipvjgpLmjIHjgaPjgZ/pgYvnlKjjgpLlv4PjgYzjgZHjgb7jgZfjgofjgYbjgIINCiAgICAgICAgPC9wPg0KICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktY2VudGVyIHNwYWNlLXgtNiB0ZXh0LXNtIG9wYWNpdHktNTAgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIHB0LTgiPg0KICAgICAgICAgICAgPHNwYW4+44Oq44K544Kv566h55CGPC9zcGFuPg0KICAgICAgICAgICAgPHNwYW4+6Ki85oug6YeR5Yi25bqmKFZhUik8L3NwYW4+DQogICAgICAgICAgICA8c3Bhbj7liIbmlaPmipXos4c8L3NwYW4+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8cCBjbGFzcz0idGV4dC14cyBvcGFjaXR5LTQwIG10LTgiPuKAu+W9k+ODrOODneODvOODiOOBr+aDheWgseaPkOS+m+OCkuebrueahOOBqOOBl+OBpuOBiuOCiuOAgeeJueWumuOBrumKmOafhOOBruWjsuiyt+OCkuaOqOWlqOOBmeOCi+OCguOBruOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgjwvcD4NCiAgICA8L2Rpdj4NCjwvZm9vdGVyPg0KDQo8c2NyaXB0Pg0KY29uc3Qgd3JhcExhYmVsID0gKGxhYmVsKSA9PiB7DQogICAgaWYgKHR5cGVvZiBsYWJlbCAhPT0gJ3N0cmluZycpIHJldHVybiBsYWJlbDsNCiAgICBpZiAobGFiZWwubGVuZ3RoIDw9IDE2KSByZXR1cm4gbGFiZWw7DQogICAgY29uc3QgcmVzdWx0ID0gW107DQogICAgbGV0IGN1cnJlbnRMaW5lID0gIiI7DQogICAgY29uc3QgY2hhcnMgPSBsYWJlbC5zcGxpdCgnJyk7DQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgew0KICAgICAgICBjdXJyZW50TGluZSArPSBjaGFyc1tpXTsNCiAgICAgICAgaWYgKGN1cnJlbnRMaW5lLmxlbmd0aCA+PSAxMiB8fCBpID09PSBjaGFycy5sZW5ndGggLSAxKSB7DQogICAgICAgICAgICByZXN1bHQucHVzaChjdXJyZW50TGluZSk7DQogICAgICAgICAgICBjdXJyZW50TGluZSA9ICIiOw0KICAgICAgICB9DQogICAgfQ0KICAgIHJldHVybiByZXN1bHQ7DQp9Ow0KDQpjb25zdCB0b29sdGlwQ29uZmlnID0gew0KICAgIHBhZGRpbmc6IDEyLA0KICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTUsIDIzLCA0MiwgMC45KScsDQogICAgY2FsbGJhY2tzOiB7DQogICAgICAgIHRpdGxlOiBmdW5jdGlvbih0b29sdGlwSXRlbXMpIHsNCiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0b29sdGlwSXRlbXNbMF07DQogICAgICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmNoYXJ0LmRhdGEubGFiZWxzW2l0ZW0uZGF0YUluZGV4XTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGxhYmVsKSA/IGxhYmVsLmpvaW4oJycpIDogbGFiZWw7DQogICAgICAgIH0NCiAgICB9DQp9Ow0KDQovLyAxLiBQYXlvZmYgQ2hhcnQgKFNpbXVsYXRpb24pDQpuZXcgQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BheW9mZkNoYXJ0JyksIHsNCiAgICB0eXBlOiAnbGluZScsDQogICAgZGF0YTogew0KICAgICAgICBsYWJlbHM6IFsnMzkwMDAnLCAnMzk1MDAnLCAnNDAwMDAnLCAnNDA1MDAnLCAnNDEwMDAnLCAnNDE1MDAnLCAnNDIwMDAnXSwNCiAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgICBsYWJlbDogJ+a6gOacn+aQjeebiiAo5YaGKScsDQogICAgICAgICAgICBkYXRhOiBbLTUwMCwgLTUwMCwgLTUwMCwgMCwgNTAwLCAxMDAwLCAxNTAwXSwNCiAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzNiODJmNicsDQogICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChjb250ZXh0KSA9PiB7DQogICAgICAgICAgICAgICAgY29uc3QgY2hhcnQgPSBjb250ZXh0LmNoYXJ0Ow0KICAgICAgICAgICAgICAgIGNvbnN0IHtjdHgsIGNoYXJ0QXJlYX0gPSBjaGFydDsNCiAgICAgICAgICAgICAgICBpZiAoIWNoYXJ0QXJlYSkgcmV0dXJuIG51bGw7DQogICAgICAgICAgICAgICAgY29uc3QgZ3JhZGllbnQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgY2hhcnRBcmVhLnRvcCwgMCwgY2hhcnRBcmVhLmJvdHRvbSk7DQogICAgICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICdyZ2JhKDU5LCAxMzAsIDI0NiwgMC40KScpOw0KICAgICAgICAgICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCAncmdiYSgyMzksIDY4LCA2OCwgMC40KScpOw0KICAgICAgICAgICAgICAgIHJldHVybiBncmFkaWVudDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBmaWxsOiB0cnVlLA0KICAgICAgICAgICAgdGVuc2lvbjogMCwNCiAgICAgICAgICAgIHBvaW50UmFkaXVzOiA2LA0KICAgICAgICAgICAgcG9pbnRIb3ZlclJhZGl1czogOA0KICAgICAgICB9XQ0KICAgIH0sDQogICAgb3B0aW9uczogew0KICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgcGx1Z2luczogeyANCiAgICAgICAgICAgIGxlZ2VuZDogeyBkaXNwbGF5OiBmYWxzZSB9LA0KICAgICAgICAgICAgdG9vbHRpcDogdG9vbHRpcENvbmZpZw0KICAgICAgICB9LA0KICAgICAgICBzY2FsZXM6IHsNCiAgICAgICAgICAgIHk6IHsNCiAgICAgICAgICAgICAgICBncmlkOiB7IGNvbG9yOiAnI2UyZThmMCcgfSwNCiAgICAgICAgICAgICAgICB0aXRsZTogeyBkaXNwbGF5OiB0cnVlLCB0ZXh0OiAn5pCN55uK5bmFJyB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgeDogew0KICAgICAgICAgICAgICAgIHRpdGxlOiB7IGRpc3BsYXk6IHRydWUsIHRleHQ6ICfmuoDmnJ/mmYLjga7ml6XntYwyMjXkvqHmoLwnIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0pOw0KDQovLyAyLiBNdWx0aXBsaWVyIENoYXJ0DQpuZXcgQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ211bHRpcGxpZXJDaGFydCcpLCB7DQogICAgdHlwZTogJ2JhcicsDQogICAgZGF0YTogew0KICAgICAgICBsYWJlbHM6IFsn44Op44O844K4ICgxMDAw5YCNKScsICfjg5/jg4sgKDEwMOWAjSknLCAn44Oe44Kk44Kv44OtICgxMOWAjSknXS5tYXAod3JhcExhYmVsKSwNCiAgICAgICAgZGF0YXNldHM6IFt7IA0KICAgICAgICAgICAgbGFiZWw6ICflj5blvJXkuZfmlbAnLCANCiAgICAgICAgICAgIGRhdGE6IFsxMDAwLCAxMDAsIDEwXSwgDQogICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsnIzFlM2E4YScsICcjM2I4MmY2JywgJyM5M2M1ZmQnXSwgDQogICAgICAgICAgICBib3JkZXJSYWRpdXM6IDEyLA0KICAgICAgICAgICAgYmFyVGhpY2tuZXNzOiA0MA0KICAgICAgICB9XQ0KICAgIH0sDQogICAgb3B0aW9uczogeyANCiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsIA0KICAgICAgICBwbHVnaW5zOiB7IA0KICAgICAgICAgICAgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0sIA0KICAgICAgICAgICAgdG9vbHRpcDogdG9vbHRpcENvbmZpZyANCiAgICAgICAgfSwgDQogICAgICAgIHNjYWxlczogeyB5OiB7IGJlZ2luQXRaZXJvOiB0cnVlLCBncmlkOiB7IGRpc3BsYXk6IGZhbHNlIH0gfSB9IA0KICAgIH0NCn0pOw0KDQovLyAzLiBJViBDcmFzaCBDaGFydA0KbmV3IENoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpdkNyYXNoQ2hhcnQnKSwgew0KICAgIHR5cGU6ICdsaW5lJywNCiAgICBkYXRhOiB7DQogICAgICAgIGxhYmVsczogWyfjgqTjg5njg7Pjg4gx6YCx6ZaT5YmNJywgJ+OCpOODmeODs+ODiOWJjeaXpScsICfjgqTjg5njg7Pjg4jlvZPml6UnLCAn44Kk44OZ44Oz44OI57+M5pelJ10ubWFwKHdyYXBMYWJlbCksDQogICAgICAgIGRhdGFzZXRzOiBbDQogICAgICAgICAgICB7IA0KICAgICAgICAgICAgICAgIGxhYmVsOiAnSVYgKCUpJywgDQogICAgICAgICAgICAgICAgZGF0YTogWzI1LCA0NSwgNDIsIDE4XSwgDQogICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjZWY0NDQ0JywgDQogICAgICAgICAgICAgICAgYm9yZGVyRGFzaDogWzUsIDVdLCANCiAgICAgICAgICAgICAgICB0ZW5zaW9uOiAwLjMsIA0KICAgICAgICAgICAgICAgIHlBeGlzSUQ6ICd5JyANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7IA0KICAgICAgICAgICAgICAgIGxhYmVsOiAn44Kq44OX44K344On44Oz5L6h5qC8JywgDQogICAgICAgICAgICAgICAgZGF0YTogWzQwMCwgNjUwLCA2MDAsIDI1MF0sIA0KICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzFlMjkzYicsIA0KICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiA0LCANCiAgICAgICAgICAgICAgICB0ZW5zaW9uOiAwLjMsIA0KICAgICAgICAgICAgICAgIHlBeGlzSUQ6ICd5MScgDQogICAgICAgICAgICB9DQogICAgICAgIF0NCiAgICB9LA0KICAgIG9wdGlvbnM6IHsgDQogICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLCANCiAgICAgICAgcGx1Z2luczogeyB0b29sdGlwOiB0b29sdGlwQ29uZmlnIH0sIA0KICAgICAgICBzY2FsZXM6IHsgDQogICAgICAgICAgICB5OiB7IHBvc2l0aW9uOiAnbGVmdCcsIHRpdGxlOiB7IGRpc3BsYXk6IHRydWUsIHRleHQ6ICdJVicgfSB9LA0KICAgICAgICAgICAgeTE6IHsgcG9zaXRpb246ICdyaWdodCcsIGdyaWQ6IHsgZHJhd09uQ2hhcnRBcmVhOiBmYWxzZSB9LCB0aXRsZTogeyBkaXNwbGF5OiB0cnVlLCB0ZXh0OiAn5L6h5qC8JyB9IH0gDQogICAgICAgIH0gDQogICAgfQ0KfSk7DQoNCi8vIDQuIEdyZWVrcyBSYWRhcg0KbmV3IENoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdncmVla3NDaGFydCcpLCB7DQogICAgdHlwZTogJ3JhZGFyJywNCiAgICBkYXRhOiB7DQogICAgICAgIGxhYmVsczogWyfjg4fjg6vjgr8o5pa55ZCR5oCnKScsICfjgqzjg7Pjg54o5Yqg6YCf5bqmKScsICfjgrvjg7zjgr8o5pmC6ZaT5L6h5YCkKScsICfjg5njgqwo5aSJ5YuV546H5oSf5bqmKSddLm1hcCh3cmFwTGFiZWwpLA0KICAgICAgICBkYXRhc2V0czogW3sgDQogICAgICAgICAgICBsYWJlbDogJ0FUTSjjgqLjg4Pjg4jjg7vjgrbjg7vjg57jg43jg7wpJywgDQogICAgICAgICAgICBkYXRhOiBbOTAsIDEwMCwgODUsIDk1XSwgDQogICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDEyNCwgNTgsIDIzNywgMC4yKScsIA0KICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjN2MzYWVkJywNCiAgICAgICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiAnIzdjM2FlZCcNCiAgICAgICAgfV0NCiAgICB9LA0KICAgIG9wdGlvbnM6IHsgDQogICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLCANCiAgICAgICAgcGx1Z2luczogeyB0b29sdGlwOiB0b29sdGlwQ29uZmlnIH0sIA0KICAgICAgICBzY2FsZXM6IHsgcjogeyBzdWdnZXN0ZWRNaW46IDAsIHN1Z2dlc3RlZE1heDogMTAwLCB0aWNrczogeyBkaXNwbGF5OiBmYWxzZSB9IH0gfSANCiAgICB9DQp9KTsNCjwvc2NyaXB0Pg0KDQo8c2NyaXB0Pg0KKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQoNCiAgICB2YXIgRlJBTUVfSUQgPSAiZnhjb21wLWh0bWwtZnJhbWUtNmZhOWE2NzktMjNlOC00YzIwLTk2MzUtNWVjMzBlYTkzMjVkIjsNCiAgICB2YXIgdGltZXIgPSBudWxsOw0KDQogICAgZnVuY3Rpb24gZ2V0SGVpZ2h0KCkgew0KICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmJvZHk7DQogICAgICAgIHZhciBlID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ow0KDQogICAgICAgIGlmICghYiB8fCAhZSkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICAvKg0KICAgICAgICAgKiDph43opoE6DQogICAgICAgICAqIGNsaWVudEhlaWdodCAvIG9mZnNldEhlaWdodCDjga/nj77lnKjjga5pZnJhbWXpq5jjgZXjgpLmi77jgYTjgoTjgZnjgY/jgIENCiAgICAgICAgICog5LiA5bqm44K544Oe44Ob5bmF44Gn5aSn44GN44GP44Gq44Gj44Gf6auY44GV44GM5oi744KJ44Gq44GE5Y6f5Zug44Gr44Gq44KL44CCDQogICAgICAgICAqIOOBneOBruOBn+OCgeOAgeWun+OCs+ODs+ODhuODs+ODhOWvhOOCiuOBriBzY3JvbGxIZWlnaHQgLyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qg44KS5Lit5b+D44Gr5ris44KL44CCDQogICAgICAgICAqLw0KICAgICAgICB2YXIgYm9keVJlY3QgPSBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGhlaWdodDogMCB9Ow0KICAgICAgICB2YXIgaHRtbFJlY3QgPSBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGhlaWdodDogMCB9Ow0KDQogICAgICAgIHZhciBjYW5kaWRhdGVzID0gWw0KICAgICAgICAgICAgYi5zY3JvbGxIZWlnaHQgfHwgMCwNCiAgICAgICAgICAgIGUuc2Nyb2xsSGVpZ2h0IHx8IDAsDQogICAgICAgICAgICBNYXRoLmNlaWwoYm9keVJlY3QuaGVpZ2h0IHx8IDApLA0KICAgICAgICAgICAgTWF0aC5jZWlsKGh0bWxSZWN0LmhlaWdodCB8fCAwKQ0KICAgICAgICBdOw0KDQogICAgICAgIHZhciBoID0gMDsNCg0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbmRpZGF0ZXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChjYW5kaWRhdGVzW2ldID4gaCkgew0KICAgICAgICAgICAgICAgIGggPSBjYW5kaWRhdGVzW2ldOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGg7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2VuZEhlaWdodCgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBoID0gZ2V0SGVpZ2h0KCk7DQoNCiAgICAgICAgICAgIGlmIChoID4gMCAmJiB3aW5kb3cucGFyZW50KSB7DQogICAgICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJmeGNvbXAtaHRtbC1pZnJhbWUtaGVpZ2h0IiwNCiAgICAgICAgICAgICAgICAgICAgZnJhbWVJZDogRlJBTUVfSUQsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodDogaA0KICAgICAgICAgICAgICAgIH0sICIqIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2VuZEhlaWdodFNvb24oKSB7DQogICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7DQoNCiAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKSB7DQogICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2VuZEhlaWdodCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHNlbmRIZWlnaHQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgMzApOw0KICAgIH0NCg0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc2VuZEhlaWdodFNvb24pOw0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCBzZW5kSGVpZ2h0U29vbik7DQoNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICB2YXIgZGF0YSA9IGV2ZW50LmRhdGEgfHwge307DQoNCiAgICAgICAgaWYgKCFkYXRhIHx8IGRhdGEudHlwZSAhPT0gImZ4Y29tcC1odG1sLWlmcmFtZS1tZWFzdXJlIikgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGRhdGEuZnJhbWVJZCAhPT0gRlJBTUVfSUQpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIHNlbmRIZWlnaHRTb29uKCk7DQogICAgfSk7DQoNCiAgICBpZiAoIlJlc2l6ZU9ic2VydmVyIiBpbiB3aW5kb3cpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBybyA9IG5ldyBSZXNpemVPYnNlcnZlcihzZW5kSGVpZ2h0U29vbik7DQoNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHsNCiAgICAgICAgICAgICAgICByby5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5KSB7DQogICAgICAgICAgICAgICAgcm8ub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oc2VuZEhlaWdodFNvb24pOw0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIHZhciBjb3VudCA9IDA7DQogICAgdmFyIGludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgew0KICAgICAgICBzZW5kSGVpZ2h0U29vbigpOw0KICAgICAgICBjb3VudCArPSAxOw0KDQogICAgICAgIGlmIChjb3VudCA+IDIwKSB7DQogICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTsNCiAgICAgICAgfQ0KICAgIH0sIDUwMCk7DQoNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCA1MCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMzAwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAxMDAwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAyNTAwKTsNCn0pKCk7DQo8L3NjcmlwdD4KPC9ib2R5Pg0KPC9odG1sPg==</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-6fa9a679-23e8-4c20-9635-5ec30ea9325d";
                var SOURCE_ID = "fxcomp-html-frame-6fa9a679-23e8-4c20-9635-5ec30ea9325d-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div><p>The post <a href="https://fxcomp.net/option-1842">オプション取引 基本ガイド</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/option-1842/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>市場の支配者：巨大資本の真の収益構造</title>
		<link>https://fxcomp.net/big_money-1836</link>
					<comments>https://fxcomp.net/big_money-1836#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Fri, 24 Jul 2026 00:16:07 +0000</pubDate>
				<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1836</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-6fe65df9-3ef1-4437-b372-9bee3b7e1bb6"
                class="fxcomp-html-iframe"
                title="市場の支配者：巨大資本の真の収益構造"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-6fe65df9-3ef1-4437-b372-9bee3b7e1bb6-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT7luILloLTjga7mlK/phY3ogIXvvJrlt6jlpKfos4fmnKzjga7nnJ/jga7lj47nm4rmp4vpgKA8L3RpdGxlPg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4ucGxvdC5seS9wbG90bHktMi4yNy4wLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHN0eWxlPg0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZmYW1pbHk9Tm90bytTYW5zK0pQOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAnKTsNCiAgICAgICAgDQogICAgICAgIGJvZHkgew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsICdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYzsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUyOTNiOw0KICAgICAgICB9DQoNCiAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsNCiAgICAgICAgICAgIGhlaWdodDogMzUwcHg7DQogICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDsNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgICAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7DQogICAgICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5jYXJkIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yczsNCiAgICAgICAgfQ0KDQogICAgICAgIC5ncmFkaWVudC10ZXh0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyNTYzZWIsICMwNmI2ZDQpOw0KICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7DQogICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuc3RlcC1ub2RlIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgcGFkZGluZzogMXJlbTsNCiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtOw0KICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICB9DQoNCiAgICAgICAgLnN0ZXAtYXJyb3c6OmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICLihpMiOw0KICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsNCiAgICAgICAgICAgIGNvbG9yOiAjM2I4MmY2Ow0KICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5iZy12aWJyYW50LWJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU2M2ViOyB9DQogICAgICAgIC5iZy12aWJyYW50LWN5YW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZiNmQ0OyB9DQogICAgICAgIC5iZy12aWJyYW50LWVtZXJhbGQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTBiOTgxOyB9DQogICAgICAgIC5iZy12aWJyYW50LXJvc2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQzZjVlOyB9DQogICAgICAgIC5iZy12aWJyYW50LWFtYmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y1OWUwYjsgfQ0KICAgIDwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0icC00IG1kOnAtOCI+DQoNCiAgICA8aGVhZGVyIGNsYXNzPSJtYXgtdy02eGwgbXgtYXV0byBtYi0xMiB0ZXh0LWNlbnRlciI+DQogICAgICAgIDxoMSBjbGFzcz0idGV4dC00eGwgbWQ6dGV4dC02eGwgZm9udC1ib2xkIG1iLTQgdHJhY2tpbmctdGlnaHQiPg0KICAgICAgICAgICAg5biC5aC044KS5b2i5oiQ44GZ44KLPHNwYW4gY2xhc3M9ImdyYWRpZW50LXRleHQiPuW3qOWkp+izh+acrOOBruOAjOecn+Wun+OAjTwvc3Bhbj4NCiAgICAgICAgPC9oMT4NCiAgICAgICAgPHAgY2xhc3M9InRleHQtbGcgdGV4dC1zbGF0ZS02MDAgbWF4LXctM3hsIG14LWF1dG8iPg0KICAgICAgICAgICAg5YWs6KGo44GV44KM44KL44Ki44Kv44OG44Kj44OW44OV44Kh44Oz44OJ44Gu5Yip5Zue44KK44Gv5rC35bGx44Gu5LiA6KeS44Gr6YGO44GO44G+44Gb44KT44CC5biC5aC044Gu5rex5bGk44Gn44CM44OB44Oj44O844OI44KS5L2c44Gj44Gm44GE44KL44CN44Oh44Kk44Oz44OX44Os44O844Ok44O844Gf44Gh44GM44CB44Gp44Gu44KI44GG44Gr44GX44Gm54mp55CG55qE6ZmQ55WM44Gr6L+R44GE5Y+O55uK44KS5LiK44GS57aa44GR44Gm44GE44KL44Gu44GL44CB44Gd44Gu6ZqO5bGk5qeL6YCg44KS6Kej44GN5piO44GL44GX44G+44GZ44CCDQogICAgICAgIDwvcD4NCiAgICA8L2hlYWRlcj4NCg0KICAgIDxtYWluIGNsYXNzPSJtYXgtdy02eGwgbXgtYXV0byBzcGFjZS15LTEyIj4NCg0KICAgICAgICA8c2VjdGlvbiBpZD0iaW50cm8iIGNsYXNzPSJjYXJkIHAtOCBib3JkZXItbC04IGJvcmRlci12aWJyYW50LWJsdWUiPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgbWItNCBmbGV4IGl0ZW1zLWNlbnRlciI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJnLXZpYnJhbnQtYmx1ZSB0ZXh0LXdoaXRlIHctOCBoLTggcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1yLTMgdGV4dC1zbSI+MTwvc3Bhbj4NCiAgICAgICAgICAgICAgICDluo/oq5bvvJrluILloLTjga7pmo7lsaTmp4vpgKDjgajlj47nm4rjga7kuZbpm6INCiAgICAgICAgICAgIDwvaDI+DQogICAgICAgICAgICA8cCBjbGFzcz0ibWItNiBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgIOmHkeiejeW4guWgtOOBr+WujOWFqOOBq+majuWxpOWMluOBleOCjOOBpuOBhOOBvuOBmeOAguWAi+S6uuaKleizh+WutuOBjOebruOBq+OBmeOCi+OAjOW5tOWIqTXjgJw4JeOAjeOBruS4lueVjOOBruS4iuOBq+OBr+OAgeaJi+aVsOaWmeaOp+mZpOWJjeOBruOAjOOCsOODreOCueWPjuebiuOAjeOBpzQwJeS7peS4iuOCkueovOOBkOODmOODg+OCuOODleOCoeODs+ODieOAgeOBneOBl+OBpuiHquW3seizh+acrOOBq+WvvuOBl+OBpjEwMCXov5HjgYTliKnnm4rjgpLlj6njgY3lh7rjgZnjg57jg7zjgrHjg4Pjg4jjg6Hjg7zjgqvjg7zjgYzlrZjlnKjjgZfjgb7jgZnjgILlvbzjgonjga/luILloLTjga7jgIzlj4LliqDogIXjgI3jgafjga/jgarjgY/jgIHmtYHli5XmgKfjgpLjgrPjg7Pjg4jjg63jg7zjg6vjgZnjgovjgIzmlK/phY3ogIXjgI3jgafjgZnjgIINCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTYgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNCBiZy1zbGF0ZS01MCByb3VuZGVkLWxnIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtdmlicmFudC1ibHVlIG1iLTEiPjkwJei2hTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIHRleHQtc2xhdGUtNTAwIj7mlZfljJfnjoc8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgbXQtMiB0ZXh0LXNsYXRlLTQwMCI+5biC5aC05bmz5Z2H44Gr5Yud44Gm44Gq44GE44Ki44Kv44OG44Kj44OW44OV44Kh44Oz44OJ44Gu5Ymy5ZCIPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNCBiZy1zbGF0ZS01MCByb3VuZGVkLWxnIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtdmlicmFudC1yb3NlIG1iLTEiPjY2LjElPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc20gZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgdGV4dC1zbGF0ZS01MDAiPueJqeeQhueahOmZkOeVjDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC14cyBtdC0yIHRleHQtc2xhdGUtNDAwIj7jg6Hjg4Djg6rjgqrjg7Pjg7vjg5XjgqHjg7Pjg4njga4zMOW5tOW5s+Wdh+OCsOODreOCueWIqeWbnuOCijwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctc2xhdGUtNTAgcm91bmRlZC1sZyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXZpYnJhbnQtZW1lcmFsZCBtYi0xIj45LjI8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbSBmb250LXNlbWlib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciB0ZXh0LXNsYXRlLTUwMCI+5a6J5a6a5oCnPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIG10LTIgdGV4dC1zbGF0ZS00MDAiPkhGVOalreiAheOBjOWun+ePvuOBmeOCi+mpmueVsOeahOOBquOCt+ODo+ODvOODl+ODrOOCt+OCqjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPHNlY3Rpb24gaWQ9ImxheWVyLTEiIGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC04IGl0ZW1zLWNlbnRlciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZS15LTQiPg0KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtODAwIj7nrKzkuIDlsaTvvJrlhazli5/jg5XjgqHjg7Pjg4njga7pmZDnlYw8L2gzPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICDkuIDoiKzjgavosqnlo7LjgZXjgozjgabjgYTjgovjgqLjgq/jg4bjgqPjg5bjg5XjgqHjg7Pjg4njga7jg4fjg7zjgr/jgpLopovjgovjgajjgIHooZ3mkoPnmoTjgarnj77lrp/jgYzmta7jgYvjgbPkuIrjgYzjgorjgb7jgZnjgIJTUElWQeOCueOCs+OCouOCq+ODvOODieOBq+OCiOOCi+OBqOOAgeexs+WbveWkp+Wei+agquODleOCoeODs+ODieOBrue0hDkwJeOBjOOAgTIw5bm044Go44GE44GG6ZW35pyf44K544OR44Oz44Gn44OZ44Oz44OB44Oe44O844Kv77yIUyZQIDUwMO+8ieOCkuS4i+WbnuOBo+OBpuOBhOOBvuOBmeOAguW9vOOCieOBr+OAjOW4guWgtOOBq+WLleOBi+OBleOCjOOBpuOBhOOCi+OAjeODl+ODrOODvOODpOODvOOBp+OBguOCiuOAgemrmOOBhOaJi+aVsOaWmeOBjOODquOCv+ODvOODs+OCkuani+mAoOeahOOBq+aKvOOBl+S4i+OBkuOBpuOBhOOBvuOBmeOAgg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy12aWJyYW50LXJvc2UvMTAgcC00IHJvdW5kZWQtbGcgYm9yZGVyLWwtNCBib3JkZXItdmlicmFudC1yb3NlIj4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC12aWJyYW50LXJvc2UgZm9udC1ib2xkIj7ph43opoHjgarjg53jgqTjg7Pjg4ggKEtleSBUYWtlYXdheSk6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSI+5YWs6KGo5Yip5Zue44KK44Gu5L2O44GV44Gv44CB6YGL55So44Gu5aSx5pWX44Gn44Gv44Gq44GP44CB5qeL6YCg55qE44Gq5omL5pWw5paZ6LKg44GR44Go5oOF5aCx5Yqj5L2N44Gu57WQ5p6c44Gn44GZ44CCPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtNiI+DQogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWNlbnRlciBmb250LWJvbGQgbWItNCI+UyZQIDUwMOOBq+WvvuOBmeOCizxiciBjbGFzcz0ibWQ6aGlkZGVuIj7jgqLjg7Pjg4Djg7zjg5Hjg5Xjgqnjg7zjg6DnjocgKCUpPC9oND4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJzcGl2YUNoYXJ0Ij48L2NhbnZhcz4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPHNlY3Rpb24gaWQ9ImxheWVyLTIiIGNsYXNzPSJzcGFjZS15LTgiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgbWF4LXctM3hsIG14LWF1dG8iPg0KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTQiPuesrOS6jOODu+S4ieWxpO+8muODmOODg+OCuOODleOCoeODs+ODieOBruOAjOOCsOODreOCueWPjuebiuOAjeOBrumXhzwvaDM+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIj4NCiAgICAgICAgICAgICAgICAgICAg44OI44OD44OX44OG44Kj44Ki44Gu44OY44OD44K444OV44Kh44Oz44OJ77yIQ2l0YWRlbCwgTWlsbGVubml1beetie+8ieOBr+OAgeaKleizh+WutuOBq+aPkOekuuOBmeOCi+OAjOODjeODg+ODiOWIqeWbnuOCiuOAjeOBruijj+OBp+OAgeOBneOBrjEuNeWAjeOBi+OCieaVsOWAjeOBruOAjOOCsOODreOCueWPjuebiuOAjeOCkuW4guWgtOOBi+OCieaKveWHuuOBl+OBpuOBhOOBvuOBmeOAguOAjOODkeOCueOCueODq+ODvOaJi+aVsOaWmeOAjeOBqOOBhOOBhuS7lee1hOOBv+OBq+OCiOOCiuOAgeiOq+Wkp+OBqumBi+WWtue1jOiyu+OBruOBu+OBvOOBmeOBueOBpuOCkuaKleizh+WutuOBq+i7ouWrgeOBl+OBpuOBhOOCi+OBi+OCieOBp+OBmeOAgg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtOCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwLTYiPg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtY2VudGVyIGZvbnQtYm9sZCBtYi0yIj5CYWx5YXNueSAoMjAyMykg44Gu5Y+O55uK5qeL6YCg5LmW6ZuiPC9oND4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAgdGV4dC1jZW50ZXIgbWItNCI+4oC7QmFseWFzbnnvvIjjg5Djg6rjgqLjgrnjg4vjg7zvvIk6IOS4lueVjOacieaVsOOBruW3qOWkp+ODnuODq+ODgeODnuODjeODvOOCuOODo+ODvOWei+ODmOODg+OCuOODleOCoeODs+ODiTwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9ImJhbHlhc255Q2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtNiBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgbWItNCB0ZXh0LXZpYnJhbnQtYmx1ZSI+57Wx6KiI44Gr54++44KM44Gq44GE44CM44OQ44Kk44Ki44K544CN44Gu5q2j5L2TPC9oND4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXZpYnJhbnQtYmx1ZS8yMCBwLTIgcm91bmRlZCBtci0zIG10LTEgdGV4dC12aWJyYW50LWJsdWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9udC1ib2xkIj7nlJ/lrZg8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImZvbnQtYm9sZCI+55Sf5a2Y6ICF44OQ44Kk44Ki44K5ICgrMi42JSDjgJwgKzUuMSUpPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCI+5oiQ57i+5LiN5oyv44Gn5raI5ruF44GX44Gf44OV44Kh44Oz44OJ44GM6Zmk5aSW44GV44KM44CB5bmz5Z2H44GM5bqV5LiK44GS44GV44KM44KL44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy12aWJyYW50LWN5YW4vMjAgcC0yIHJvdW5kZWQgbXItMyBtdC0xIHRleHQtdmlicmFudC1jeWFuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvbnQtYm9sZCI+6YGh5Y+KPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJmb250LWJvbGQiPuODkOODg+OCr+ODleOCo+ODq+ODu+ODkOOCpOOCouOCuSAoKzEuNCUg44CcICs0LjAlKTwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS01MDAiPuWlveaIkOe4vuOBruaZguacn+OBoOOBkeOCkuW+jOOBi+OCieODh+ODvOOCv+ODmeODvOOCueOBq+eZu+mMsuOBmeOCi+OAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctdmlicmFudC1lbWVyYWxkLzIwIHAtMiByb3VuZGVkIG1yLTMgbXQtMSB0ZXh0LXZpYnJhbnQtZW1lcmFsZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LWJvbGQiPumBuOaKnjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9udC1ib2xkIj7oh6rlt7Hpgbjmip7jg5DjgqTjgqLjgrkgKOacquefpeaVsCk8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwIj7nnJ/jgavlhKrnp4Djgarjg5XjgqHjg7Pjg4njga/mlrDopo/os4fph5HjgpLlv4XopoHjgajjgZvjgZrjgIHlhazooajjgpLmi5LlkKbjgZnjgovjgII8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJsYXllci00IiBjbGFzcz0iY2FyZCBvdmVyZmxvdy1oaWRkZW4iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctc2xhdGUtOTAwIHRleHQtd2hpdGUgcC04Ij4NCiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCBtYi0yIj7mnIDpq5jls7DvvJrjg6vjg43jgrXjg7Pjgrnjg7vjg6Hjg4Djg6rjgqrjg7Pjga7npZ7oqbE8L2gzPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTQwMCI+SmltIFNpbW9uc+OBjOWIsOmBlOOBl+OBn+aVsOWtpueahOODu+eJqeeQhueahOmZkOeVjOOBruaVsOWApDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icC04IGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTEyIGl0ZW1zLWNlbnRlciI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS02Ij4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImxlYWRpbmctcmVsYXhlZCBtYi00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIOODoeODgOODquOCquODs+ODu+ODleOCoeODs+ODie+8iOWGhemDqOmWouS/guiAheWwgueUqO+8ieOBrzMw5bm06ZaT44CB5bm0546HNjYuMSXjgajjgYTjgYbpqZrnlbDnmoTjgarjgrDjg63jgrnjg6rjgr/jg7zjg7PjgpLntq3mjIHjgZfjgb7jgZfjgZ/jgII0NCXjgajjgYTjgYbms5XlpJbjgarmiJDlip/loLHphazjgpLlt67jgZflvJXjgYTjgabjgoLjgIHntIQ0MCXjgYzmrovjgorjgb7jgZnjgILjgZPjgozjga/kuojmuKzjga7li53njofvvIg1MC43NSXvvInjgafjga/jgarjgY/jgIHlubTplpPmlbDnmb7kuIflm57jga7lj5blvJXjgavjgojjgovjgIzlpKfmlbDjga7ms5XliYfjgI3jgYznlJ/jgb/lh7rjgZfjgZ/ntZDmnpzjgafjgZnjgIINCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zbGF0ZS0xMDAgcC00IHJvdW5kZWQtbGcgYm9yZGVyLWwtNCBib3JkZXItc2xhdGUtNDAwIHRleHQtc20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LXNsYXRlLTcwMCBtYi0xIj7kuIDoiKzlkJHjgZHjg5XjgqHjg7Pjg4njgajjga7mrovphbfjgarkuZbpm6I8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAiPuODq+ODjeOCteODs+OCueekvuOBjOS4gOiIrOaKleizh+WutuWQkeOBkeOBq+aPkOS+m+OBl+OBpuOBhOOCi+WFrOWLn+ODleOCoeODs+ODie+8iFJJRUbjgarjganvvInjga/jgIEyMDIw5bm044KE6L+R5bm044Gu55u45aC044GnUyZQIDUwMOOCkuWkp+OBjeOBj+OCouODs+ODgOODvOODkeODleOCqeODvOODoO+8iOS4i+WbnuOCi+aIkOe4vu+8ieOBl+OAgeW3qOmhjeOBruizh+mHkea1geWHuuOCkue1jOmok+OBl+OBpuOBhOOBvuOBmeOAguODoeODgOODquOCquODs+OBrui2hemrmOWPjuebiuOCouODq+OCtOODquOCuuODoOOBr+OAjOizh+mHkeimj+aooe+8iOOCreODo+ODkeOCt+ODhuOCo++8ieOBrumZkOeVjOOAjeOBjOOBguOCiuOAgeWklumDqOOBruW3qOmhjeizh+mHkeOBq+OBr+mBqeeUqOOBp+OBjeOBquOBhOOBqOOBhOOBhuani+mAoOeahOOBqumZkOeVjOOCkuekuuOBl+OBpuOBhOOBvuOBmeOAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQteGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayB0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIG1iLTEiPuWPluW8leOCs+OCueODiO+8iOS4gOiIrO+8iTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC1zbGF0ZS04MDAiPjAuMDElIOOAnDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJvcmRlciBib3JkZXItdmlicmFudC1lbWVyYWxkIHJvdW5kZWQteGwgYmctdmlicmFudC1lbWVyYWxkLzUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayB0ZXh0LXhzIHRleHQtdmlicmFudC1lbWVyYWxkIG1iLTEiPuODq+ODjeOCteODs+OCueOBruOCs+OCueODiDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC12aWJyYW50LWVtZXJhbGQiPjAuMDAyJTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJncm93dGhDaGFydCIgY2xhc3M9InctZnVsbCBoLWZ1bGwiPjwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8c2VjdGlvbiBpZD0ibGF5ZXItNSIgY2xhc3M9InNwYWNlLXktOCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYXgtdy0zeGwgbXgtYXV0byI+DQogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNCI+5pyA5rex6YOo77ya44Oe44O844Kx44OD44OI44Oh44O844Kr44O844Gu44CM54Sh5pWX44CN56We6KmxPC9oMz4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAgdGV4dC1sZWZ0IG1kOnRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgSmFuZSBTdHJlZXTjgoRDaXRhZGVsIFNlY3VyaXRpZXPjgajjgYTjgaPjgZ/lt6jlpKfjgarjgIzjg57jg7zjgrHjg4Pjg4jjg6Hjg7zjgqvjg7zvvIjlgKTku5jjgZHmpa3ogIXvvInjgI3jga/jgIHmoKrkvqHjga7kuIrjgYzjgorkuIvjgYzjgorjgpLkuojmg7PjgZnjgovjgIzpgYvnlKjogIXjgI3jgafjga/jgYLjgorjgb7jgZvjgpPjgILlvbzjgonjga9IRlTvvIjpq5jpoLvluqblj5blvJXvvInjgoTpq5jluqbjgarjgqLjg6vjgrTjg6rjgrrjg6DjgpLpp4bkvb/jgZfjgIHluLjjgavlo7LjgormiYvjgajosrfjgYTmiYvjga7plpPjgavlhaXjgaPjgabjg5/jg6rnp5LljZjkvY3jgafjgIzjgrnjg5fjg6zjg4Pjg4nvvIjosrflgKTjgajlo7LlgKTjga7lg4XjgYvjgarlt67poY3vvInjgI3jgpLnorrlrp/jgavmipzjgY3lj5bjgaPjgabjgYTjgb7jgZnjgILlvbzjgonjga/luILloLTjga7jgqTjg7Pjg5Xjg6njgZ3jga7jgoLjga7jgafjgYLjgorjgIHlrp/os6rnmoTjgarjgIzpgJrooYzmlpnjgI3jgpLlvrTlj47jgZnjgovnq4vloLTjgavjgYLjgorjgb7jgZnjgILpgY7ljrvjgavjga/jgIHmlbDlubTplpPjgafmkI3lpLHjgpLlh7rjgZfjgZ/ml6XjgYzjgIzjgo/jgZrjgYsx5pel44CN44Go44GE44GG5qWt6ICF44GM5a2Y5Zyo44GX44Gf44G744Gp44CB5Zyn5YCS55qE44Gq54Sh5pWX56We6Kmx44KS6KqH44KK44G+44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC04Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtNiI+DQogICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1jZW50ZXIgZm9udC1ib2xkIG1iLTQgdGV4dC12aWJyYW50LWJsdWUiPuiHquW3seizh+acrOWIqeebiueOhyAoUk9FKSDjga7mr5TovIM8L2g0Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0icm9lQ2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtNiI+DQogICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1jZW50ZXIgZm9udC1ib2xkIG1iLTQgdGV4dC12aWJyYW50LWVtZXJhbGQiPuOCt+ODo+ODvOODl+ODrOOCt+OCqiAo44Oq44K544Kv6Kq/5pW05b6M44Oq44K/44O844OzKTwvaDQ+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJzaGFycGVDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8c2VjdGlvbiBpZD0ibWVjaGFuaXNtIiBjbGFzcz0ic3BhY2UteS0xMiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYXgtdy0zeGwgbXgtYXV0byI+DQogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNCI+44OB44Oj44O844OI44KS5b2i5oiQ44GZ44KL44Oh44Kr44OL44K644OgPC9oMz4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAiPg0KICAgICAgICAgICAgICAgICAgICDjgarjgZzlvbzjgonjga/li53jgabjgovjga7jgYvvvJ8g44Gd44KM44Gv5b2844KJ44GM44CM5L6h5qC844CN44KS5rG644KB44Gm44GE44KL44GL44KJ44Gn44GZ44CC5YCL5Lq65oqV6LOH5a6244Gu5rOo5paH77yI44OV44Ot44O877yJ44KS6LK344GE5Y+W44KK44CB6Ieq56S+5YaF44Gn5Yem55CG44GZ44KL44CM5YaF6YOo5YyW44CN44Gu44OX44Ot44K744K544GT44Gd44GM44OB44Oj44O844OI5b2i5oiQ44Gu5qC45b+D44Gn44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTR4bCBteC1hdXRvIHNwYWNlLXktNCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1ub2RlIGJnLXdoaXRlIHNoYWRvdy1zbSBib3JkZXItdmlicmFudC1ibHVlIj4NCiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LWJvbGQgdGV4dC12aWJyYW50LWJsdWUiPjEuIFBGT0YgKOazqOaWh+a1geOBruiyt+OBhOWPluOCiik8L2g1Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCI+6Ki85Yi45Lya56S+44GL44KJ5YCL5Lq65oqV6LOH5a6244Gu5rOo5paH44KS5YSq5YWI55qE44Gr6LK344GE5Y+W44KL44CCPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtYXJyb3ciPjwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbm9kZSBiZy13aGl0ZSBzaGFkb3ctc20gYm9yZGVyLXZpYnJhbnQtY3lhbiI+DQogICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iZm9udC1ib2xkIHRleHQtdmlicmFudC1jeWFuIj4yLiDlhoXpg6jljJYgKOOCpOODs+OCv+ODvOODiuODquOCvOODvOOCt+ODp+ODsyk8L2g1Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCI+5rOo5paH44KS5YWs6ZaL5Y+W5byV5omA44Gr5Ye644GV44Ga44CB44Oe44O844Kx44OD44OI44Oh44O844Kr44O844Gu5Zyo5bqr44Go44G244Gk44GR44Gm57SE5a6a44GV44Gb44KL44CCPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtYXJyb3ciPjwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbm9kZSBiZy13aGl0ZSBzaGFkb3ctc20gYm9yZGVyLXZpYnJhbnQtZW1lcmFsZCI+DQogICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iZm9udC1ib2xkIHRleHQtdmlicmFudC1lbWVyYWxkIj4zLiDmtYHli5XmgKfjga7oqpjlsI7jgajlnKjluqvnrqHnkIY8L2g1Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCI+5Zyo5bqr44GM5YGP44KL44Go44Ki44Or44K044Oq44K644Og44GM5rCX6YWN5YCk44KS5YuV44GL44GX44CB5L6h5qC877yI44OB44Oj44O844OI77yJ44KS5oSP5Zuz55qE44Gr5oyv5YuV44GV44Gb44KL44CCPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtYXJyb3ciPjwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbm9kZSBiZy1zbGF0ZS04MDAgdGV4dC13aGl0ZSBib3JkZXItc2xhdGUtODAwIj4NCiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJmb250LWJvbGQiPue1kOaenO+8muOCueODl+ODrOODg+ODieOBrueiuuWun+OBquWbnuWPjjwvaDU+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNDAwIj7jg6rjgrnjgq/jgpLmnIDlsI/ljJbjgZfjgZ/nirbmhYvjgafjgIHpgJrooYzmlpnjgajjgZfjgabjga7liKnnm4rjgpLnqY3jgb/kuIrjgZLjgovjgILjgZPjgozjgYzmiJHjgIXjgYzopovjgabjgYTjgovjgIzjg4Hjg6Pjg7zjg4jjgI3jga7mraPkvZPjgII8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJjb25jbHVzaW9uIiBjbGFzcz0iY2FyZCBwLTggYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTYwMCB0by1jeWFuLTUwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIj4NCiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTYiPue1kOirlu+8muecn+OBruODquOCv+ODvOODs+ODu+ODlOODqeODn+ODg+ODiTwvaDI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy00IGdhcC00Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctd2hpdGUvMTAgcm91bmRlZC1sZyBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlciBib3JkZXItd2hpdGUvMjAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHVwcGVyY2FzZSBvcGFjaXR5LTcwIG1iLTIiPuODnuODvOOCseODg+ODiOODoeODvOOCq+ODvDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQiPlJPRSA4MC0xMDAlKzwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNCBiZy13aGl0ZS8xMCByb3VuZGVkLWxnIGJhY2tkcm9wLWJsdXItbWQgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdXBwZXJjYXNlIG9wYWNpdHktNzAgbWItMiI+44OI44OD44OX44O744Kv44Kq44Oz44OEPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCI+R3Jvc3MgNjYlPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJnLXdoaXRlLzEwIHJvdW5kZWQtbGcgYmFja2Ryb3AtYmx1ci1tZCBib3JkZXIgYm9yZGVyLXdoaXRlLzIwIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB1cHBlcmNhc2Ugb3BhY2l0eS03MCBtYi0yIj7lt6jlpKfjg5jjg4Pjgrjjg5XjgqHjg7Pjg4k8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIj5Hcm9zcyAyNS00MCU8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctd2hpdGUvMTAgcm91bmRlZC1sZyBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlciBib3JkZXItd2hpdGUvMjAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHVwcGVyY2FzZSBvcGFjaXR5LTcwIG1iLTIiPuS4gOiIrOaKleizh+Wuti/jg5XjgqHjg7Pjg4k8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIj5OZXQgNS0xMCU8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPHAgY2xhc3M9Im10LTggdGV4dC1zbSBpdGFsaWMgb3BhY2l0eS04MCI+DQogICAgICAgICAgICAgICAg5oiR44CF44GM55uu44Gr44GZ44KL44OB44Oj44O844OI44Gu5LiK5LiL5YuV44Gv44CB5beo5aSn6LOH5pys44GM5Zyo5bqr44KS5Lit5ZKM44GX44CB6YCa6KGM5paZ44KS5Zue5Y+O44GZ44KL44Gf44KB44Gr5oSP5Zuz55qE44Gr5o+P44GE44Gf44CM6LuM6Leh44CN44Gn44GC44KL44CCDQogICAgICAgICAgICA8L3A+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgIDwvbWFpbj4NCg0KICAgIDxzY3JpcHQ+DQogICAgICAgIGNvbnN0IHdyYXBMYWJlbCA9IChsYWJlbCkgPT4gew0KICAgICAgICAgICAgaWYgKHR5cGVvZiBsYWJlbCAhPT0gJ3N0cmluZycpIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgIGlmIChsYWJlbC5sZW5ndGggPD0gMTYpIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gbGFiZWwuc3BsaXQoJyAnKTsNCiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdOw0KICAgICAgICAgICAgbGV0IGN1cnJlbnRMaW5lID0gJyc7DQogICAgICAgICAgICB3b3Jkcy5mb3JFYWNoKHdvcmQgPT4gew0KICAgICAgICAgICAgICAgIGlmICgoY3VycmVudExpbmUgKyB3b3JkKS5sZW5ndGggPiAxNikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjdXJyZW50TGluZS50cmltKCkpOw0KICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGluZSA9IHdvcmQgKyAnICc7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgY3VycmVudExpbmUgKz0gd29yZCArICcgJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGN1cnJlbnRMaW5lLnRyaW0oKSk7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIGNvbnN0IGRlZmF1bHRUb29sdGlwT3B0aW9ucyA9IHsNCiAgICAgICAgICAgIGNhbGxiYWNrczogew0KICAgICAgICAgICAgICAgIHRpdGxlOiBmdW5jdGlvbih0b29sdGlwSXRlbXMpIHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRvb2x0aXBJdGVtc1swXTsNCiAgICAgICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gaXRlbS5jaGFydC5kYXRhLmxhYmVsc1tpdGVtLmRhdGFJbmRleF07DQogICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxhYmVsKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsLmpvaW4oJyAnKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBjb25zdCBjdHhTcGl2YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcGl2YUNoYXJ0JykuZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgbmV3IENoYXJ0KGN0eFNwaXZhLCB7DQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICBsYWJlbHM6IFsnMeW5tCcsICc15bm0JywgJzEw5bm0JywgWycxNeOAnDIw5bm0JywgJyjplbfmnJ8pJ11dLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1MmUCA1MDDjgpLkuIvlm57jgaPjgZ/libLlkIggKCUpJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzY1LjIsIDc2LjMsIDg0LjMsIDkyLjBdLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsnIzNiODJmNicsICcjNjBhNWZhJywgJyM5M2M1ZmQnLCAnI2Y0M2Y1ZSddDQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogeyB0b29sdGlwOiBkZWZhdWx0VG9vbHRpcE9wdGlvbnMgfSwNCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsgeTogeyBiZWdpbkF0WmVybzogdHJ1ZSwgbWF4OiAxMDAgfSB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGNvbnN0IGN0eEJhbHlhc255ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhbHlhc255Q2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4QmFseWFzbnksIHsNCiAgICAgICAgICAgIHR5cGU6ICdiYXInLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogW1snQmFseWFzbnknLCAnKDIwMjMg5a6f57i+KSddXSwNCiAgICAgICAgICAgICAgICBkYXRhc2V0czogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+aKleizh+WutuODjeODg+ODiOODquOCv+ODvOODsycsDQogICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMi44XSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMxMGI5ODEnDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn44OR44K544K544Or44O857WM6LK7L+aJi+aVsOaWmScsDQogICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMTIuNF0sDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjU5ZTBiJw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7DQogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6IGRlZmF1bHRUb29sdGlwT3B0aW9ucywNCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB7IHBvc2l0aW9uOiAnYm90dG9tJyB9DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsgDQogICAgICAgICAgICAgICAgICAgIHg6IHsgc3RhY2tlZDogdHJ1ZSB9LA0KICAgICAgICAgICAgICAgICAgICB5OiB7IHN0YWNrZWQ6IHRydWUsIGJlZ2luQXRaZXJvOiB0cnVlLCB0aXRsZTogeyBkaXNwbGF5OiB0cnVlLCB0ZXh0OiAn5Yip5Zue44KKICglKScgfSB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjb25zdCBkYXRhR3Jvd3RoID0gW3sNCiAgICAgICAgICAgIHg6IEFycmF5LmZyb20oe2xlbmd0aDogMzF9LCAoXywgaSkgPT4gMTk4OCArIGkpLA0KICAgICAgICAgICAgeTogWzEwMCwgMTY2LCAyNzUsIDQ1NywgNzU5LCAxMjYwLCAyMDkyLCAzNDc0LCA1NzcwLCA5NTg1LCAxNTkyMCwgMjY0NDQsIDQzOTI0LCA3Mjk1OCwgMTIxMTgzLCAyMDEyODUsIDMzNDMzNSwgNTU1MzMxLCA5MjI0MDUsIDE1MzIxMTUsIDI1NDQ4NDMsIDQyMjcwMDAsIDcwMjEwMDAsIDExNjYxMDAwLCAxOTM3MDAwMCwgMzIxNzAwMDAsIDUzNDMwMDAwLCA4ODc1MDAwMCwgMTQ3NDAwMDAwLCAyNDQ4MDAwMDAsIDM5ODcwMDAwMF0sDQogICAgICAgICAgICB0eXBlOiAnc2NhdHRlcicsDQogICAgICAgICAgICBtb2RlOiAnbGluZXMrbWFya2VycycsDQogICAgICAgICAgICBsaW5lOiB7IGNvbG9yOiAnIzEwYjk4MScsIHdpZHRoOiAzIH0sDQogICAgICAgICAgICBtYXJrZXI6IHsgc2l6ZTogNiB9DQogICAgICAgIH1dOw0KICAgICAgICBjb25zdCBsYXlvdXRHcm93dGggPSB7DQogICAgICAgICAgICB0aXRsZTogJzEwMOODieODq+OBruaKleizh+OBjOi+v+OBo+OBn+i7jOi3oSAo5a++5pWw55uu55ubKScsDQogICAgICAgICAgICB5YXhpczogeyB0eXBlOiAnbG9nJywgdGl0bGU6ICfos4fnlKPkvqHlgKQgKFVTRCknIH0sDQogICAgICAgICAgICBtYXJnaW46IHsgdDogNDAsIGI6IDQwLCBsOiA2MCwgcjogMjAgfSwNCiAgICAgICAgICAgIHBhcGVyX2JnY29sb3I6ICdyZ2JhKDAsMCwwLDApJywNCiAgICAgICAgICAgIHBsb3RfYmdjb2xvcjogJ3JnYmEoMCwwLDAsMCknDQogICAgICAgIH07DQogICAgICAgIFBsb3RseS5uZXdQbG90KCdncm93dGhDaGFydCcsIGRhdGFHcm93dGgsIGxheW91dEdyb3d0aCwgeyByZXNwb25zaXZlOiB0cnVlLCBkaXNwbGF5TW9kZUJhcjogZmFsc2UgfSk7DQoNCiAgICAgICAgY29uc3QgY3R4Um9lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JvZUNoYXJ0JykuZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgbmV3IENoYXJ0KGN0eFJvZSwgew0KICAgICAgICAgICAgdHlwZTogJ2JhcicsDQogICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgbGFiZWxzOiBbJ0phbmUgU3RyZWV0JywgJ0NpdGFkZWwgU2VjJywgJ+Wkp+aJi+aKleizh+mKgOihjCcsICdTJlAgNTAwIOW5s+WdhyddLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+iHquW3seizh+acrOWIqeebiueOhyAoUk9FICUpJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzkwLCA0MywgMTIsIDE4XSwNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbJyMyNTYzZWInLCAnIzA2YjZkNCcsICcjY2JkNWUxJywgJyM5NGEzYjgnXQ0KICAgICAgICAgICAgICAgIH1dDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLA0KICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsgdG9vbHRpcDogZGVmYXVsdFRvb2x0aXBPcHRpb25zIH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7IHk6IHsgYmVnaW5BdFplcm86IHRydWUgfSB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGNvbnN0IGN0eFNoYXJwZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaGFycGVDaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHhTaGFycGUsIHsNCiAgICAgICAgICAgIHR5cGU6ICdiYXInLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogWydIRlTmpa3ogIUnLCAn44Kv44Kq44Oz44OE44OV44Kh44Oz44OJJywgJ+S4gOiIrOODmOODg+OCuOODleOCoeODs+ODiScsICdTJlAgNTAwJ10sDQogICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn44K344Oj44O844OX44Os44K344KqJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzkuMiwgMi41LCAwLjgsIDAuM10sDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWycjMTBiOTgxJywgJyMzNGQzOTknLCAnIzk0YTNiOCcsICcjY2JkNWUxJ10NCiAgICAgICAgICAgICAgICB9XQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBpbmRleEF4aXM6ICd5JywNCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7IHRvb2x0aXA6IGRlZmF1bHRUb29sdGlwT3B0aW9ucyB9LA0KICAgICAgICAgICAgICAgIHNjYWxlczogeyB4OiB7IGJlZ2luQXRaZXJvOiB0cnVlIH0gfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgIDwvc2NyaXB0Pg0KPHNjcmlwdD4NCihmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KDQogICAgdmFyIEZSQU1FX0lEID0gImZ4Y29tcC1odG1sLWZyYW1lLTZmZTY1ZGY5LTNlZjEtNDQzNy1iMzcyLTliZWUzYjdlMWJiNiI7DQogICAgdmFyIHRpbWVyID0gbnVsbDsNCg0KICAgIGZ1bmN0aW9uIGdldEhlaWdodCgpIHsNCiAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5ib2R5Ow0KICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsNCg0KICAgICAgICBpZiAoIWIgfHwgIWUpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgLyoNCiAgICAgICAgICog6YeN6KaBOg0KICAgICAgICAgKiBjbGllbnRIZWlnaHQgLyBvZmZzZXRIZWlnaHQg44Gv54++5Zyo44GuaWZyYW1l6auY44GV44KS5ou+44GE44KE44GZ44GP44CBDQogICAgICAgICAqIOS4gOW6puOCueODnuODm+W5heOBp+Wkp+OBjeOBj+OBquOBo+OBn+mrmOOBleOBjOaIu+OCieOBquOBhOWOn+WboOOBq+OBquOCi+OAgg0KICAgICAgICAgKiDjgZ3jga7jgZ/jgoHjgIHlrp/jgrPjg7Pjg4bjg7Pjg4Tlr4Tjgorjga4gc2Nyb2xsSGVpZ2h0IC8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0IOOCkuS4reW/g+OBq+a4rOOCi+OAgg0KICAgICAgICAgKi8NCiAgICAgICAgdmFyIGJvZHlSZWN0ID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogeyBoZWlnaHQ6IDAgfTsNCiAgICAgICAgdmFyIGh0bWxSZWN0ID0gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogeyBoZWlnaHQ6IDAgfTsNCg0KICAgICAgICB2YXIgY2FuZGlkYXRlcyA9IFsNCiAgICAgICAgICAgIGIuc2Nyb2xsSGVpZ2h0IHx8IDAsDQogICAgICAgICAgICBlLnNjcm9sbEhlaWdodCB8fCAwLA0KICAgICAgICAgICAgTWF0aC5jZWlsKGJvZHlSZWN0LmhlaWdodCB8fCAwKSwNCiAgICAgICAgICAgIE1hdGguY2VpbChodG1sUmVjdC5oZWlnaHQgfHwgMCkNCiAgICAgICAgXTsNCg0KICAgICAgICB2YXIgaCA9IDA7DQoNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYW5kaWRhdGVzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICBpZiAoY2FuZGlkYXRlc1tpXSA+IGgpIHsNCiAgICAgICAgICAgICAgICBoID0gY2FuZGlkYXRlc1tpXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBoOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHNlbmRIZWlnaHQoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgaCA9IGdldEhlaWdodCgpOw0KDQogICAgICAgICAgICBpZiAoaCA+IDAgJiYgd2luZG93LnBhcmVudCkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAiZnhjb21wLWh0bWwtaWZyYW1lLWhlaWdodCIsDQogICAgICAgICAgICAgICAgICAgIGZyYW1lSWQ6IEZSQU1FX0lELA0KICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGgNCiAgICAgICAgICAgICAgICB9LCAiKiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHNlbmRIZWlnaHRTb29uKCkgew0KICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpOw0KDQogICAgICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNlbmRIZWlnaHQpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBzZW5kSGVpZ2h0KCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIDMwKTsNCiAgICB9DQoNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHNlbmRIZWlnaHRTb29uKTsNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgc2VuZEhlaWdodFNvb24pOw0KDQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICAgICAgdmFyIGRhdGEgPSBldmVudC5kYXRhIHx8IHt9Ow0KDQogICAgICAgIGlmICghZGF0YSB8fCBkYXRhLnR5cGUgIT09ICJmeGNvbXAtaHRtbC1pZnJhbWUtbWVhc3VyZSIpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChkYXRhLmZyYW1lSWQgIT09IEZSQU1FX0lEKSB7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBzZW5kSGVpZ2h0U29vbigpOw0KICAgIH0pOw0KDQogICAgaWYgKCJSZXNpemVPYnNlcnZlciIgaW4gd2luZG93KSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoc2VuZEhlaWdodFNvb24pOw0KDQogICAgICAgICAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7DQogICAgICAgICAgICAgICAgcm8ub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoZG9jdW1lbnQuYm9keSkgew0KICAgICAgICAgICAgICAgIHJvLm9ic2VydmUoZG9jdW1lbnQuYm9keSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgaWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLnJlYWR5KSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKHNlbmRIZWlnaHRTb29uKTsNCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICB2YXIgY291bnQgPSAwOw0KICAgIHZhciBpbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgc2VuZEhlaWdodFNvb24oKTsNCiAgICAgICAgY291bnQgKz0gMTsNCg0KICAgICAgICBpZiAoY291bnQgPiAyMCkgew0KICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7DQogICAgICAgIH0NCiAgICB9LCA1MDApOw0KDQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgNTApOw0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDMwMCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMTAwMCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMjUwMCk7DQp9KSgpOw0KPC9zY3JpcHQ+CjwvYm9keT4NCjwvaHRtbD4=</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-6fe65df9-3ef1-4437-b372-9bee3b7e1bb6";
                var SOURCE_ID = "fxcomp-html-frame-6fe65df9-3ef1-4437-b372-9bee3b7e1bb6-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div><p>The post <a href="https://fxcomp.net/big_money-1836">市場の支配者：巨大資本の真の収益構造</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/big_money-1836/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>世界FX・CFDトップ50ランキングと収益構造の真実</title>
		<link>https://fxcomp.net/broker-1780</link>
					<comments>https://fxcomp.net/broker-1780#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Sat, 18 Jul 2026 03:11:30 +0000</pubDate>
				<category><![CDATA[オススメ記事]]></category>
		<category><![CDATA[検証]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1780</guid>

					<description><![CDATA[<p>押さえたいポイント スプレッドやスワップ条件の良いブローカーで取引を行っても出金拒否や利益没収などは &#8230;</p>
<p>The post <a href="https://fxcomp.net/broker-1780">世界FX・CFDトップ50ランキングと収益構造の真実</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></description>
										<content:encoded><![CDATA[<article class="pa-article pa-theme--purple">
<div><a href="https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造.jpg"><img fetchpriority="high" decoding="async" class="alignnone size-large wp-image-1812" src="https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造-1024x512.jpg" alt="" width="1024" height="512" srcset="https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造-1024x512.jpg 1024w, https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造-300x150.jpg 300w, https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造-768x384.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造-400x200.jpg 400w, https://fxcomp.net/wp-content/uploads/2026/07/ブローカー規模と収益構造.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></div>
<div class="fz-badge-title"><span class="fz-mini fz-mini--red">押さえたいポイント</span></div>
<div class="fz-box fz-box--yellow">
<p>スプレッドやスワップ条件の良いブローカーで取引を行っても出金拒否や利益没収などは珍しいことではありません。私もブローカーに数百万やられています(; ･`д･´)<br />
顧客の損失が自社の利益というブローカーも少なくありません。というか大多数です( ﾟДﾟ)<br />
業者側が儲かる内部的な構造を理解しておくことで、詐欺業者を掴まされる可能性を下げることが出来ます。<br />
私がブローカーを選ぶ際には、Aブックか、所有している金融ライセンス、上場しているか、売買高などの規模を見た後で、実質スプレッドコスト、ユーザー評価、出金拒否情報がないかまで徹底的に調べるようにしています。<br />
ここでは、取引規模や上場しているのかに重きを置いて、業者規模を見ていきます。<br />
<br />
<br />
</p>
</div>
<h2 class="fz-h-line">世界のFX・CFD市場と取引規模トップ50ランキング</h2>
<p>2026年現在、世界のFX・CFD市場は国際決済銀行（BIS）の統計によれば1日あたりの取引高が9.6兆ドルに達し、2022年の7.5兆ドルから飛躍的に拡大しています。米ドルは全取引の89.2%に関与する基軸通貨としての地位を維持しつつ、モバイル取引やアルゴリズム取引の普及がリテール市場の裾野を広げてきました。こうした背景を踏まえ、各社の公開財務データやIR資料、業界レポートを統合的に分析し、取引規模（月間・年間取引高や預り資産等）に基づくグローバルブローカーのトップ50をまとめました。上場企業は上場市場とティッカーを、未上場企業は「未上場」と明記しています。</p>
<div class="fz-table-wrap">
<table class="fz-table fz-table--striped">
<thead>
<tr>
<th>順位</th>
<th>企業・ブランド名</th>
<th>本社/主要拠点</th>
<th>上場市場 (ティッカー)</th>
<th>取引規模の目安 (推定月間/年間等)</th>
<th>事業特性および市場ポジションの洞察</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Exness</td>
<td>キプロス等</td>
<td>未上場</td>
<td>月間 約5兆ドル超</td>
<td>2024年に月間5.1兆ドルの取引高を記録し、圧倒的流動性と低スプレッドを誇る世界最大のリテールブローカー。</td>
</tr>
<tr>
<td>2</td>
<td>EC Markets</td>
<td>英国等</td>
<td>未上場</td>
<td>月間 約1.5兆ドル</td>
<td>2025年第4四半期に4.47兆ドル（月間平均約1.5兆ドル）を記録。アジアや中東への急速なグローバル展開が奏功。</td>
</tr>
<tr>
<td>3</td>
<td>DMM.com証券</td>
<td>日本</td>
<td>未上場</td>
<td>月間 約1.46兆ドル</td>
<td>2025年のFX月間平均取引高で1.46兆ドルを記録。単一国（日本）のFX専業として異次元の取引規模を持つ。</td>
</tr>
<tr>
<td>4</td>
<td>GMOクリック証券</td>
<td>日本</td>
<td>東証スタンダード (7177)</td>
<td>月間 約1.3兆ドル (全資産)</td>
<td>店頭FXのみで月間113.9兆円（2026年6月）を記録。CFDや株式を含めたグループ全体の流動性は世界屈指。</td>
</tr>
<tr>
<td>5</td>
<td>Interactive Brokers</td>
<td>米国</td>
<td>NASDAQ (IBKR)</td>
<td>年間純収益 62億ドル超</td>
<td>手数料収益と金利収入で圧倒。DARTs（1日平均収益取引件数）は400万件を超え、顧客資産は7,799億ドルに達する。</td>
</tr>
<tr>
<td>6</td>
<td>IC Markets</td>
<td>豪州等</td>
<td>未上場</td>
<td>月間 1兆ドル超</td>
<td>cTraderやMT4/MT5による超低スプレッド環境（Raw Spread）を提供し、アルゴリズムトレーダーの支持を集める。</td>
</tr>
<tr>
<td>7</td>
<td>IG Group</td>
<td>英国</td>
<td>LSE (IGG)</td>
<td>年間収益 11.2億ポンド</td>
<td>世界トップクラスのCFD・スプレッドベッティング業者。顧客預り資産195億ポンド、多様な金融商品を展開。</td>
</tr>
<tr>
<td>8</td>
<td>Plus500</td>
<td>イスラエル</td>
<td>LSE (PLUS)</td>
<td>年間収益 7.9億ドル</td>
<td>独自のプラットフォームとモバイルアプリを提供。米国市場での非OTC事業（先物等）も1億ドル超の収益に成長。</td>
</tr>
<tr>
<td>9</td>
<td>XTB</td>
<td>ポーランド</td>
<td>WSE (XTB)</td>
<td>年間 約4.8兆ドル</td>
<td>欧州を代表するブローカー。2025年の新規口座開設86万超、CFD出来高886万ロットを記録し個人投資家層を拡大。</td>
</tr>
<tr>
<td>10</td>
<td>Capital.com</td>
<td>英国等</td>
<td>未上場</td>
<td>月間 約3,700億ドル</td>
<td>2026年第2四半期の取引高1.13兆ドル。中東市場での成長が著しく、コモディティ（特に金）の取引シェアが高い。</td>
</tr>
<tr>
<td>11</td>
<td>StoneX (FOREX.com)</td>
<td>米国</td>
<td>NASDAQ (SNEX)</td>
<td>年間営業収益 41億ドル</td>
<td>機関投資家向けが主軸だが、FOREX.comやCity Indexを擁しリテールFXでも圧倒的。R.J. O'Brienの買収で規模拡大。</td>
</tr>
<tr>
<td>12</td>
<td>CMC Markets</td>
<td>英国</td>
<td>LSE (CMCX)</td>
<td>年間純収益 3.9億ポンド</td>
<td>自社プラットフォーム「Next Generation」を基盤に、B2BのAPI連携や機関投資家向けサービスでスケールを実現。</td>
</tr>
<tr>
<td>13</td>
<td>Futu Holdings</td>
<td>香港・米国</td>
<td>NASDAQ (FUTU)</td>
<td>年間取引高 約1.9兆ドル</td>
<td>「moomoo」ブランドを展開。2025年の年間取引高14.68兆香港ドル。株式・FXを含む巨大な投資エコシステムを形成。</td>
</tr>
<tr>
<td>14</td>
<td>Saxo Bank</td>
<td>デンマーク</td>
<td>未上場</td>
<td>預り資産 1兆DKK超</td>
<td>150万人以上の顧客を抱える巨大投資銀行。ホワイトラベルの提供やプロ・機関投資家向けの深い流動性提供に強み。</td>
</tr>
<tr>
<td>15</td>
<td>eToro</td>
<td>イスラエル</td>
<td>NASDAQ (ETOR)</td>
<td>年間収益 8.6億ドル</td>
<td>2025年5月にIPO完了。コピートレードの世界最大手であり、クリプト・FX・株を網羅しグローバルで高知名度。</td>
</tr>
<tr>
<td>16</td>
<td>Swissquote</td>
<td>スイス</td>
<td>SIX (SQN)</td>
<td>年間営業収益 7.2億CHF</td>
<td>預り資産887億スイスフラン。銀行ライセンスを持ち、Yuhの完全子会社化やAIへの投資により成長を加速。</td>
</tr>
<tr>
<td>17</td>
<td>Webull</td>
<td>米国</td>
<td>NASDAQ (BULL)</td>
<td>顧客資産 246億ドル</td>
<td>2025年にSPAC上場。ゼロ手数料モデル（PFOF）を基盤に世界で2,300万以上のユーザーを擁し、オプション取引に強い。</td>
</tr>
<tr>
<td>18</td>
<td>Freedom Holding</td>
<td>カザフスタン</td>
<td>NASDAQ (FRHC)</td>
<td>年間収益 21.9億ドル</td>
<td>中央アジア発の金融コングロマリット。銀行・証券・保険を統合したSuperAppを展開し、顧客数は500万を突破。</td>
</tr>
<tr>
<td>19</td>
<td>楽天証券</td>
<td>日本</td>
<td>未上場</td>
<td>預り資産 48.7兆円</td>
<td>国内トップクラスの口座数。楽天エコシステムを活用し、FXのみならず全方位的な金融サービスと投資信託を提供。</td>
</tr>
<tr>
<td>20</td>
<td>OANDA</td>
<td>米国等</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>長い歴史と強固な各種規制基盤を持つ。TradingViewとの統合やAPI提供でプロフェッショナル層から厚い支持。</td>
</tr>
<tr>
<td>21</td>
<td>Pepperstone</td>
<td>豪州</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>MT4/MT5、cTrader、TradingViewを網羅。低スプレッドと高速約定環境を武器に、アルゴリズムトレーダーを中心に急成長。</td>
</tr>
<tr>
<td>22</td>
<td>AvaTrade</td>
<td>アイルランド等</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>世界6大陸のライセンスを保持。AvaOptionsなど独自ツールやDupliTradeを通じたコピートレードが豊富で安定した人気。</td>
</tr>
<tr>
<td>23</td>
<td>SBI FXトレード</td>
<td>日本</td>
<td>東証プライム (8473)※</td>
<td>月間数千億円規模</td>
<td>SBIホールディングス傘下。1通貨単位からの少額取引や業界最狭水準スプレッドを提供し、国内初心者から上級者まで網羅。</td>
</tr>
<tr>
<td>24</td>
<td>NAGA Group</td>
<td>ドイツ</td>
<td>XETRA (N4G)</td>
<td>合併後ユーザー 150万人</td>
<td>CAPEX.comと2024年に合併し、SuperApp構想を推進。ソーシャルトレードに強みを持ち、大幅なコスト削減と収益向上を見込む。</td>
</tr>
<tr>
<td>25</td>
<td>FP Markets</td>
<td>豪州</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>10,000以上の取引銘柄とDMA（ダイレクトマーケットアクセス）による株式CFDが特徴。プロトレーダーからの評価が極めて高い。</td>
</tr>
<tr>
<td>26</td>
<td>FinecoBank</td>
<td>イタリア</td>
<td>BIT (FBK)</td>
<td>顧客資産 700億ユーロ超</td>
<td>イタリア最大級のフィンテック銀行。株式CFDの手数料無料化やマルチカレンシー口座を提供し、欧州全域でのプレゼンスを高める。</td>
</tr>
<tr>
<td>27</td>
<td>Avanza</td>
<td>スウェーデン</td>
<td>STO (AVANZ)</td>
<td>顧客数 約198万人</td>
<td>北欧最大級のデジタルプラットフォーム。純流入額が堅調で、株式、ファンド、CFDから年金まで幅広い金融商品を提供。</td>
</tr>
<tr>
<td>28</td>
<td>Nordnet</td>
<td>スウェーデン</td>
<td>STO (SAVE)</td>
<td>月間数千億SEK規模</td>
<td>北欧4カ国で展開。株、ETF、暗号資産ETP、FX、マージンレンディングを統合的に提供し、ESGやUX面でも高く評価される。</td>
</tr>
<tr>
<td>29</td>
<td>外為どっとコム</td>
<td>日本</td>
<td>未上場</td>
<td>月間数千億円規模</td>
<td>マネーパートナーズグループをTOBで完全子会社化し、国内リテールFX市場での統合を推進。情報発信力と総合力が強み。</td>
</tr>
<tr>
<td>30</td>
<td>XM.com</td>
<td>キプロス等</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>世界1,500万人以上の顧客を抱える。ハイレバレッジ、ゼロカットシステム、手厚いロイヤルティプログラムで新興国に強い。</td>
</tr>
<tr>
<td>31</td>
<td>FXCM</td>
<td>英国等</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>Leucadia傘下。アルゴリズム取引やTrading Stationを通じた深い流動性アクセスに定評があり、大口取引向け環境が充実。</td>
</tr>
<tr>
<td>32</td>
<td>ヒロセ通商</td>
<td>日本</td>
<td>東証スタンダード (7185)</td>
<td>月間数千億円規模</td>
<td>マイナー通貨ペアの豊富な取り扱いと、独自の食品キャンペーンなど特異なマーケティング戦略で国内の熱狂的ファンを獲得。</td>
</tr>
<tr>
<td>33</td>
<td>トレイダーズHD</td>
<td>日本</td>
<td>東証スタンダード (8704)</td>
<td>年間営業収益 134億円</td>
<td>「みんなのFX」を展開。TradingViewの導入や高いスワップポイントで国内トレーダーから高評価を受け、堅実な業績成長を維持。</td>
</tr>
<tr>
<td>34</td>
<td>Fusion Markets</td>
<td>豪州</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>業界最安水準の手数料（1ロットあたり4.5ドル）を武器に、オーストラリアを中心に低コストを追求するトレーダーから急成長。</td>
</tr>
<tr>
<td>35</td>
<td>Global Prime</td>
<td>豪州</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>Aブック（NDD）であることを公言し、取引の透明性を極限まで高めたプロフェッショナル向け業者としてニッチな支持を獲得。</td>
</tr>
<tr>
<td>36</td>
<td>BlackBull Markets</td>
<td>ニュージーランド</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>機関投資家並みの約定スピードとTradingViewとの深い統合が強みのNZ発ブローカー。仮想通貨入出金にも柔軟に対応。</td>
</tr>
<tr>
<td>37</td>
<td>松井証券</td>
<td>日本</td>
<td>東証プライム (8628)</td>
<td>預り資産 5.4兆円</td>
<td>国内最古参のネット証券。「松井証券のFX」は1通貨単位取引やリピート系自動売買機能などを充実させ、幅広い層へアプローチ。</td>
</tr>
<tr>
<td>38</td>
<td>Tickmill</td>
<td>セーシェル等</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>極小スプレッドと低い取引手数料構造により、スキャルパーおよびEA（自動売買）を多用するシステムトレーダーに高い人気。</td>
</tr>
<tr>
<td>39</td>
<td>FxPro</td>
<td>英国・キプロス</td>
<td>未上場</td>
<td>月間数千億ドル規模</td>
<td>世界的知名度を持つ老舗。NDD方式を早くから採用し、cTraderやMT4/MT5での安定した約定力と企業スポンサーシップで認知度大。</td>
</tr>
<tr>
<td>40</td>
<td>Darwinex</td>
<td>英国・スペイン</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>トレーダーの戦略そのものを投資商品（DARWIN）として証券化し、投資家と結びつける革新的なアセットマネジメントモデルを展開。</td>
</tr>
<tr>
<td>41</td>
<td>Eightcap</td>
<td>豪州等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>多数の暗号資産CFDペアとTradingView連携に強みを持つオーストラリアのブローカー。クリプト愛好家の間で高いシェア。</td>
</tr>
<tr>
<td>42</td>
<td>easyMarkets</td>
<td>キプロス等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>独自の「dealCancellation（取引キャンセル機能）」やスリッページなしの固定スプレッドを提供し、初心者から強い支持。</td>
</tr>
<tr>
<td>43</td>
<td>HYCM</td>
<td>英国等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>40年以上の歴史を持つHenyep Groupのブローカー。FCAなどの厳格な規制下での堅実なサービス提供で知られる。</td>
</tr>
<tr>
<td>44</td>
<td>Trade Nation</td>
<td>英国等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>固定スプレッドと透明性の高い手数料体系を掲げ、不透明なコストを排除することで初心者から中級者向けにフェアな取引環境を提供。</td>
</tr>
<tr>
<td>45</td>
<td>ThinkMarkets</td>
<td>豪州・英国</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>独自プラットフォーム「ThinkTrader」を展開し、モバイルファーストなUXと幅広いCFD銘柄（株式・コモディティ）を提供。</td>
</tr>
<tr>
<td>46</td>
<td>RoboForex</td>
<td>ベリーズ等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>コピートレードプラットフォーム「CopyFX」や、多種多様な口座タイプを展開し、アジアやラテンアメリカの新興国市場を開拓。</td>
</tr>
<tr>
<td>47</td>
<td>FBS</td>
<td>ベリーズ等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>アジアおよびラテンアメリカ市場で極めて高いシェア。超高レバレッジと多言語対応の徹底したローカライズサポートが強み。</td>
</tr>
<tr>
<td>48</td>
<td>Octa (OctaFX)</td>
<td>モヘリ等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>新興国を中心にモバイルアプリ主導で成長。積極的なボーナスプログラムや初心者に寄り添う学習コンテンツの提供に注力。</td>
</tr>
<tr>
<td>49</td>
<td>Alpari</td>
<td>セントビンセント</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>ロシア・CIS諸国を中心に長い歴史を持つ老舗。PAMM口座（資金運用口座）のパイオニア的存在として独自のコミュニティを持つ。</td>
</tr>
<tr>
<td>50</td>
<td>Vantage Markets</td>
<td>豪州等</td>
<td>未上場</td>
<td>月間数百億ドル規模</td>
<td>1,000以上のCFD商品を提供。機関投資家レベルの高速約定と強固な各種規制ライセンス体制でグローバルな信頼を獲得。</td>
</tr>
</tbody>
</table>
</div>
<h3 class="fz-h-leftbar">この表から読み取れること</h3>
<div class="fz-box fz-box--yellow">
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>Exness、EC Markets、DMM.com証券など上位勢は月間1兆ドルを超える異次元の取引規模を誇る</li>
	<li>GMOクリック証券やDMM.com証券のように、日本単一市場のFX専業でも世界屈指の流動性を確保している業者が存在する</li>
	<li>eToroやWebull、Futu Holdingsのように株式・暗号資産・CFDを統合したマルチアセット型プラットフォームが上位に食い込んでいる</li>
	<li>※SBI FXトレードやトレイダーズHDは自社は未上場だが、親会社（SBIホールディングス／トレイダーズホールディングス）が東証に上場している</li>
</ul>
</div>
<h3 class="fz-h-leftbar">結論・示唆</h3>
<p>トップ50を俯瞰すると、巨大な流動性を握る少数のメガブローカーへの寡占化と、マルチアセット化による事業ポートフォリオの多角化が同時進行していることがわかります。NAGA GroupとCAPEX.comの合併や、外為どっとコムによるマネーパートナーズグループのTOBのように、規模の経済とコンプライアンスコスト吸収を狙ったM&amp;Aも加速しており、今後はさらに上位業者への集中が進むと考えられます。小規模の業者、新参業者は利益を確保するために<br />
<br />
</p>
<h2 class="fz-h-line">巨大ブローカーが儲かる本当の理由：内部相殺とPFOF</h2>
<p>多くの個人トレーダーは「ブローカーは顧客の損失で儲けている（Bブック）」と考えがちですが、月間数兆ドル規模を誇るメガブローカーの実態はこの単純な二元論とは大きく異なります。ここでは、Aブック・Bブック・ハイブリッド（Cブック）という執行モデルの違いを整理し、取引規模が極大化したときに何が起きるのかを解説します。特に注目すべきは「内部相殺（インターナライゼーション）」と「PFOF（オーダーフロー収益）」という二つのキーワードです。</p>
<div class="fz-two">
<div class="fz-card">
<div class="fz-card-title">Aブック（STP/ECN）</div>
<p>顧客注文を外部LPに流すため市場リスクはゼロだが、利幅はスプレッドの上乗せ分のみと薄い。</p>
</div>
<div class="fz-card">
<div class="fz-card-title">Bブック（マーケットメイク）</div>
<p>顧客の相手方となり損失がそのまま利益になるが、急変動時に業者側が大損するテールリスクを抱える。</p>
</div>
</div>
<h3 class="fz-h-leftbar">重要なポイント</h3>
<p>多くの中堅ブローカーはこの二つを組み合わせた<strong>ハイブリッド（Cブック）</strong>を採用し、収益性の低い顧客の注文だけを内部に抱え、優秀なトレーダーの注文はAブックとして外部へ流すことでリスクを制御しています。取引規模が月間数兆ドルに達する超巨大ブローカーでは、この力学がさらに一段進化します。数十万〜数百万人の顧客がプラットフォーム上で同時に売買するため、常に無数の買い注文と売り注文が発生し、これらを自社サーバー内で相殺（ネッティング）することで、外部LPへのカバーコストを一切払わずにスプレッドをそのまま総取りできるのです。1ロットあたりの純利益がわずか数ドルでも、月間数千万ロットの出来高があれば数億ドル規模の無リスク収益が積み上がります。さらにWebullのように、株式・オプション注文をマーケットメーカーへ回送し<strong>PFOF（オーダーフロー収益）</strong>を得るモデルも台頭しており、同社の2025年収益の53.3%はこのリベートで占められています。</p>
<div class="fz-point"><strong>ポイント：</strong>巨大ブローカーにとって顧客の退場は将来得られるはずだったスプレッド収益（LTV：顧客生涯価値）の損失を意味するため、彼らはむしろ低スプレッドや教育コンテンツへの投資を強化し、顧客を長く市場に留める方向へインセンティブが働いています。そのため、取引条件を良くし、顧客の損失を少なくしようというバイアスが働くため、インフラ整備に資金をかけ、より良い取引環境を提供している可能性が高いです。</div>
<hr class="fz-divider" />
<h2 class="fz-h-line">まとめ</h2>
<div class="fz-box fz-box--yellow">
<p style="margin: 0 0 .6em;">世界のFX・CFD市場は、Exnessをはじめとするメガブローカーへの寡占化とマルチアセット化が同時進行しており、彼らの莫大な利益は顧客との利益相反ではなく内部相殺とPFOFという「無リスクなインフラ収益」に支えられています。業者選びの際は、規模と収益構造を理解した上で、自分の取引スタイルに合ったブローカーを選ぶことが重要です。業者によって推している取引条件の良い通貨ペアなども違うため、多角的に評価を行い、自身のトレード環境に相応しい業者を見つけることは常勝トレーダーにとって最も重要なファクターです。</p>
</div>
</article><p>The post <a href="https://fxcomp.net/broker-1780">世界FX・CFDトップ50ランキングと収益構造の真実</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/broker-1780/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>xC OSC Complex利用のポイント</title>
		<link>https://fxcomp.net/xc-osc-complex-1783</link>
					<comments>https://fxcomp.net/xc-osc-complex-1783#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Wed, 15 Jul 2026 14:37:43 +0000</pubDate>
				<category><![CDATA[Indicator]]></category>
		<category><![CDATA[オススメ記事]]></category>
		<category><![CDATA[取引手法]]></category>
		<category><![CDATA[自動売買とシストレ]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1783</guid>

					<description><![CDATA[<p>OSCは当方のシステムの中で最も機敏に反応するオリジナルオシレーターです。 反応が速いとダマシが多い &#8230;</p>
<p>The post <a href="https://fxcomp.net/xc-osc-complex-1783">xC OSC Complex利用のポイント</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><a href="https://fxcomp.net/wp-content/uploads/2026/07/OSC.jpg"><img decoding="async" class="alignnone size-large wp-image-1784" src="https://fxcomp.net/wp-content/uploads/2026/07/OSC-1024x512.jpg" alt="" width="1024" height="512" srcset="https://fxcomp.net/wp-content/uploads/2026/07/OSC-1024x512.jpg 1024w, https://fxcomp.net/wp-content/uploads/2026/07/OSC-300x150.jpg 300w, https://fxcomp.net/wp-content/uploads/2026/07/OSC-768x384.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/07/OSC-400x200.jpg 400w, https://fxcomp.net/wp-content/uploads/2026/07/OSC.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h6><br />
<div class="su-note"  style="border-color:#005f71;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#06798B;border-color:#d2ffff;color:#FFFFFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;">OSC Complexとは</div></div></h6>
<p><span style="font-size: 12pt;">OSCは当方のシステムの中で最も機敏に反応するオリジナルオシレーターです。<br />
</span>反応が速いとダマシが多いイメージですが、だましを回避する仕組みを搭載しています。<br />
仕組みはいくつかありますが、最も効果的なのはOSC５本表示されるオシレーターの1本ずつの計算式が異なり、全く違う評価をしている点が挙げられます。<br />
相場の方向性を伴うエネルギーを単一のロジックで評価をするとどうしても抜け漏れ（隙）が発生します。<br />
それらを補完する組合せで作ったオシレーターなため、表示するだけで相場のエネルギーがどちらに向いているのか俯瞰して冷静に見ることができます。<br />
<br />
例ですが、エネルギーがまばらになってくるとオシレーターが即座に反応を示してぐちゃぐちゃになります。<br />
そもそも違う評価されたラインが整列する状態は相場の方向性がまとまっている状態になりやすいため、値動きが読みやすくなります。<br />
長縄に入るように、タイミングを見計らうイメージでエントリーがしやすくなります。<br />
<a href="https://fxcomp.net/wp-content/uploads/2026/07/OSC_yn.jpg"><img decoding="async" class="alignnone size-full wp-image-1799" src="https://fxcomp.net/wp-content/uploads/2026/07/OSC_yn.jpg" alt="" width="876" height="903" srcset="https://fxcomp.net/wp-content/uploads/2026/07/OSC_yn.jpg 876w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yn-291x300.jpg 291w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yn-768x792.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yn-194x200.jpg 194w" sizes="(max-width: 876px) 100vw, 876px" /></a><br />
<br />
<br />
</p>
<h6><div class="su-note"  style="border-color:#005f71;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#06798B;border-color:#d2ffff;color:#FFFFFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;">OSCの狙いどころ</div></div></h6>
<p>上段はOSCデフォルト　下段はOSC×5倍です。<br />
倍率を上げることで上位波動が揃っているのかを伸ばしやすいのかを見やすくなります。<br />
マニュアルに記載のない部分を補足的に解説します。<br />
<br />
<span style="background-color: #ffff00; font-size: 18pt;"><strong>①黄色のラインの次の波</strong></span><br />
OSCは強い動きを示したときに黄色にラインが変化する機能があります。<br />
強く動いたところは強く戻しやすいのが相場の値動きの特性です。<br />
黄色のラインが長く、角度がある状態で値が落ちて来る、上がってくる時は、次の動きも同様の動きになりやすいです。<br />
赤ラインが引いてあるような場所は典型的で、綺麗な形で落ちて綺麗に戻る。<br />
※もちろん、必ずこういう動きになるということはありませんのでご注意下さい。<br />
その他にも判断材料はありますが、この記事ではOSCに絞って解説しております。<br />
<a href="https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1801" src="https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow-1024x588.jpg" alt="" width="1024" height="588" srcset="https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow-1024x588.jpg 1024w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow-300x172.jpg 300w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow-768x441.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow-348x200.jpg 348w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_yellow.jpg 1500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<br />
<strong><span style="font-size: 18pt; background-color: #ffff00;">②綺麗にPOした後の１本目のクロス</span></strong><br />
押し目、戻しになる可能性が非常に高い局面です。<br />
一般的に鉄板と言われる箇所です。<br />
下の例では、勢いのある下落拡散PO後にOSC1がクロスして来ている状態です。<br />
勢いのある下落が発生した中で、戻りを作りに来た状態です。このような場面ではOSC1が75エリアに入ることはなく、40、60前後で反転するケースが多いです。<br />
逆に25、75までOSC1が入ってくる場合、トレンド方向に逆らったエントリーになっている可能性が高いので、ご留意ください。<br />
何にしても値の反転を確認してからエントリーするのが安全です。<br />
<a href="https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1802" src="https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori-1024x588.jpg" alt="" width="1024" height="588" srcset="https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori-1024x588.jpg 1024w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori-300x172.jpg 300w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori-768x441.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori-348x200.jpg 348w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Modori.jpg 1500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<br />
<span style="font-size: 18pt; background-color: #ffff00;"><strong>③ラインが束になっているところ＝相場のエネルギーの集中</strong></span><br />
通常のオシレーターは張り付いてしまったら上位足に切り替えて見てみる　という解説が多いかと思われますが、<br />
OSCは相場のエネルギーが束になって集まっているため、方向性が強いと評価します。ラインが若干汚くても帯になった場合は、その方向が強いです。<br />
下例では、上昇の束が出来始めたところ一本目の赤縦ラインから下がる警戒はしますが、上昇がまだ続く可能性の方が高いと考えます。<br />
OSC１が天井からはがれて来た局面（２本目の赤ライン）は押し目になりやすく、特に１回目は高確率です。<br />
その後はヒドゥンになってトレンドが大きく続くか、波が短くなっていくかでトレンドの終わりを見ます。<br />
その後、下方向のなだらかなPOが、来ているので、上昇波動が拡散された（エネルギーが散った）と見ます。<br />
例えば、ここが勢いのある下方向の綺麗なPOだった場合は押し目になる可能性が高いです。<a href="https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1805" src="https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime-1024x589.jpg" alt="" width="1024" height="589" srcset="https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime-1024x589.jpg 1024w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime-300x173.jpg 300w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime-768x442.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime-1536x883.jpg 1536w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime-348x200.jpg 348w, https://fxcomp.net/wp-content/uploads/2026/07/OSC_Oshime.jpg 1800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<br />
<br />
何かのお役に立てれば幸いです(^_-)-☆<br />
<br />
</p><p>The post <a href="https://fxcomp.net/xc-osc-complex-1783">xC OSC Complex利用のポイント</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/xc-osc-complex-1783/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VWAP を知ってトレードに生かす</title>
		<link>https://fxcomp.net/vwap-1776</link>
					<comments>https://fxcomp.net/vwap-1776#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Fri, 10 Jul 2026 05:16:54 +0000</pubDate>
				<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1776</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-0345d0b8-7b6e-4eb2-8694-f6bcd86f4eea"
                class="fxcomp-html-iframe"
                title="VWAP を知ってトレードに生かす"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-0345d0b8-7b6e-4eb2-8694-f6bcd86f4eea-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT5WV0FQIE1hc3Rlcnk6IEluc3RpdHV0aW9uYWwgTG9naWMgJiBSZXRhaWwgUHJhY3RpY2U8L3RpdGxlPg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4ucGxvdC5seS9wbG90bHktMi4yNC4xLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHN0eWxlPg0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZmYW1pbHk9Tm90bytTYW5zK0pQOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAnKTsNCiAgICAgICAgDQogICAgICAgIGJvZHkgew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsICdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjRmODsNCiAgICAgICAgICAgIGNvbG9yOiAjMWEyMDJjOw0KICAgICAgICB9DQoNCiAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsNCiAgICAgICAgICAgIGhlaWdodDogMzUwcHg7DQogICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDsNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgew0KICAgICAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7DQogICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ncmFkaWVudC1iZyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDAzQjQ2IDAlLCAjMDc1NzVCIDEwMCUpOw0KICAgICAgICB9DQoNCiAgICAgICAgLmNhcmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSk7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yczsNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGVwLW5vZGUgew0KICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtOw0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjRjk4ODY2Ow0KICAgICAgICB9DQoNCiAgICAgICAgLnN0ZXAtbm9kZTo6YmVmb3JlIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgbGVmdDogLTAuNzVyZW07DQogICAgICAgICAgICB0b3A6IDA7DQogICAgICAgICAgICB3aWR0aDogMS41cmVtOw0KICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjk4ODY2Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJiZy1zbGF0ZS01MCI+DQoNCiAgICA8IS0tIA0KICAgIFtDT0xPUiBQQUxFVFRFOiBWaWJyYW50IFByb2Zlc3Npb25hbF0NCiAgICBQcmltYXJ5OiAjMDAzQjQ2IChEZWVwIFRlYWwpDQogICAgU2Vjb25kYXJ5OiAjMDc1NzVCIChPY2VhbiBCbHVlKQ0KICAgIEFjY2VudCAxOiAjNjZBNUFEIChTb2Z0IEJsdWUpDQogICAgQWNjZW50IDI6ICNDNERGRTYgKEljZSBCbHVlKQ0KICAgIENvbnRyYXN0OiAjRjk4ODY2IChFbmVyZ2V0aWMgQ29yYWwpDQogICAgLS0+DQoNCiAgICA8IS0tIA0KICAgIFtQTEFOIFNVTU1BUlldDQogICAgMS4gSGVhZGVyOiBDb3JlIGRlZmluaXRpb24gYW5kIHZpc3VhbCBob29rLg0KICAgIDIuIFNlY3Rpb24gMTogVGhlIE1hdGggb2YgVldBUCAtIEluY2x1ZGluZyB0aGUgRlggVGljayBWb2x1bWUgc2VjcmV0Lg0KICAgIDMuIFNlY3Rpb24gMjogSW5zdGl0dXRpb25hbCBBbGdvcml0aG1zIC0gQ29tcGFyaW5nIFZXQVAgdnMgSVMgdnMgUE9WLg0KICAgIDQuIFNlY3Rpb24gMzogR2xvYmFsIFNlc3Npb24gTG9vcHMgLSBIb3cgQXNpYS9Mb25kb24vTlkgaW50ZXJhY3QuDQogICAgNS4gU2VjdGlvbiA0OiBNVDQvTVQ1IEltcGxlbWVudGF0aW9uIC0gU3RlcC1ieS1zdGVwIHRlY2huaWNhbCBndWlkZS4NCiAgICA2LiBTZWN0aW9uIDU6IFRyYWRpbmcgU3RyYXRlZ2llcyAtIE1lYW4gUmV2ZXJzaW9uIGFuZCBUcmVuZCBGaWx0ZXJzLg0KICAgIC0tPg0KDQogICAgPCEtLSANCiAgICBbVklTVUFMSVpBVElPTiBKVVNUSUZJQ0FUSU9OXQ0KICAgIC0gRGF0YSBEaXN0cmlidXRpb24gKFJlYWwgdnMgVGljayBWb2x1bWUpOiBQaWUvRG9udXQgQ2hhcnQgKENoYXJ0LmpzKSAtIENvbmZpcm1zIGNvcnJlbGF0aW9uLg0KICAgIC0gQWxnb3JpdGhtIENvbXBhcmlzb246IEdyb3VwZWQgQmFyIENoYXJ0IChDaGFydC5qcykgLSBJZGVhbCBmb3IgY2F0ZWdvcmljYWwgY29tcGFyaXNvbi4NCiAgICAtIFNlc3Npb24gRmxvdzogQ3VzdG9tIEhUTUwvVGFpbHdpbmQgVGltZWxpbmUgLSBBdm9pZHMgU1ZHLCBlbnN1cmVzIHJlc3BvbnNpdmVuZXNzLg0KICAgIC0gU3RyYXRlZ3kgUmFkYXI6IFJhZGFyIENoYXJ0IChDaGFydC5qcykgLSBTaG93cyBtdWx0aS1kaW1lbnNpb25hbCBzdHJlbmd0aHMgb2Ygc3RyYXRlZ2llcy4NCiAgICAtIE5vIFNWRy9NZXJtYWlkOiBBbGwgZGlhZ3JhbXMgaW1wbGVtZW50ZWQgdmlhIFRhaWx3aW5kIENTUyBvciBDYW52YXMgKENoYXJ0LmpzL1Bsb3RseSkuDQogICAgLS0+DQoNCiAgICA8aGVhZGVyIGNsYXNzPSJncmFkaWVudC1iZyB0ZXh0LXdoaXRlIHB5LTE2IHB4LTQgdGV4dC1jZW50ZXIgc2hhZG93LWxnIj4NCiAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LTR4bCBtZDp0ZXh0LTZ4bCBmb250LWJvbGQgbWItNCI+VldBUCBTdHJhdGVneSBHdWlkZTwvaDE+DQogICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhsIG9wYWNpdHktOTAgbWF4LXctM3hsIG14LWF1dG8iPuW4guWgtOOBruOAjOecn+OBrumHjeW/g+OAjeOCkuino+OBjeaYjuOBi+OBmeOAguapn+mWouaKleizh+WutuOBruirlueQhuOBi+OCiUZY44Gn44Gu5a6f6Le155qE6KiI566X44G+44Gn44CCPC9wPg0KICAgICAgICA8ZGl2IGNsYXNzPSJtdC04IGZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTggZmxleC13cmFwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlLzEwIGJhY2tkcm9wLWJsdXItbWQgcC00IHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIHRleHQtM3hsIGZvbnQtYm9sZCI+RmFpciBWYWx1ZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0Ij7pganmraPkvqHmoLzjga7lj6/oppbljJY8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlLzEwIGJhY2tkcm9wLWJsdXItbWQgcC00IHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIHRleHQtM3hsIGZvbnQtYm9sZCI+RXhlY3V0aW9uPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QiPuWft+ihjOWTgeizquOBruWfuua6ljwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUvMTAgYmFja2Ryb3AtYmx1ci1tZCBwLTQgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXdoaXRlLzIwIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgdGV4dC0zeGwgZm9udC1ib2xkIj5MaXF1aWRpdHk8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtc20gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCI+5rWB5YuV5oCn44Gu6YeN44G/5LuY44GRPC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvaGVhZGVyPg0KDQogICAgPG1haW4gY2xhc3M9Im1heC13LTZ4bCBteC1hdXRvIHB5LTEyIHB4LTQgc3BhY2UteS0xNiI+DQoNCiAgICAgICAgPCEtLSBTZWN0aW9uIDE6IFRoZSBGb3VuZGF0aW9uIC0tPg0KICAgICAgICA8c2VjdGlvbj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTggYm9yZGVyLWwtOCBib3JkZXItWyMwMDNCNDZdIHBsLTYiPg0KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtWyMwMDNCNDZdIj4xLiBWV0FQ44Gu5pWw55CG44GoRljjga7jgIzpmqDjgozjgZ/lh7rmnaXpq5jjgI08L2gyPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNjAwIG10LTIiPuOBquOBnEZY44Gn44Gv44CM44OG44Kj44OD44Kv44Oc44Oq44Ol44O844Og44CN44GM5pyJ5Yq544Gq44Gu44GL77yf44Gd44Gu55u46Zai5oCn44KS55CG6Kej44GZ44KL44CCPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtOCI+DQogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCB0ZXh0LVsjMDc1NzVCXSI+VldBUOOBruioiOeul+W8jzwvaDM+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLWdyYXktMTAwIHAtNiByb3VuZGVkLWxnIGZvbnQtbW9ubyB0ZXh0LWxnIG1iLTQgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgVldBUCA9IM6jIChQcmljZSDDlyBWb2x1bWUpIC8gzqMgVm9sdW1lDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNjAwIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICBWV0FQ44Gv44CB5Y2Y44Gq44KL5L6h5qC844Gu5bmz5Z2H44Gn44Gv44Gq44GP44CB5Y+W5byV6YeP77yI5Ye65p2l6auY77yJ44KS6ICD5oWu44GX44Gf5bmz5Z2H5YCk44Gn44GZ44CCRljluILloLTjgafjga/jgIzlrp/jg5zjg6rjg6Xjg7zjg6DjgI3jga7lj5blvpfjgYzlm7Dpm6PjgafjgZnjgYzjgIHkvqHmoLzjga7mm7TmlrDlm57mlbDjgafjgYLjgos8c3Ryb25nPuOAjOODhuOCo+ODg+OCr+ODnOODquODpeODvOODoOOAjTwvc3Ryb25nPuOBjOWun+ODnOODquODpeODvOODoOOBqOalteOCgeOBpumrmOOBhOebuOmWoumWouS/gu+8iOe0hDkwJeS7peS4iu+8ieOBq+OBguOCi+OBn+OCgeOAgeOBk+OCjOOCkuS7o+eUqOOBmeOCi+OBk+OBqOOBp+ato+eiuuOBquWIhuaekOOBjOWPr+iDveOBq+OBquOCiuOBvuOBmeOAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0idm9sdW1lQ29ycmVsYXRpb25DaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC14cyB0ZXh0LWdyYXktNDAwIG10LTIgaXRhbGljIHRleHQtY2VudGVyIj7lm7PvvJrjg4bjgqPjg4Pjgq/jg5zjg6rjg6Xjg7zjg6Djgajlrp/lh7rmnaXpq5jjga7nm7jplqLjgqTjg6Hjg7zjgrjvvIjpq5jjgYTov73pmo/mgKfvvIk8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0gU2VjdGlvbiAyOiBJbnN0aXR1dGlvbmFsIEFsZ29zIC0tPg0KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYmctd2hpdGUgcm91bmRlZC0yeGwgc2hhZG93LXhsIHAtOCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi0xMCB0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1bIzAwM0I0Nl0iPjIuIOapn+mWouaKleizh+WutuOBjOa0u+eUqOOBmeOCi+Wft+ihjOOCouODq+OCtOODquOCuuODoDwvaDI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS02MDAgbXQtMiI+5b2844KJ44GM44Gq44GcVldBUOWRqOi+uuOBp+WPluW8leOCkuW8t+WMluOBmeOCi+OBruOBi+OAgeOBneOBruODreOCuOODg+OCr+OCkuavlOi8g+OBl+OBvuOBmeOAgjwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIgbWItOCI+DQogICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0iYWxnb0NvbXBhcmlzb25DaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtNiB0ZXh0LXNtIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXQtNCBib3JkZXItWyMwNzU3NUJdIGJnLXNsYXRlLTUwIHJvdW5kZWQiPg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LVsjMDc1NzVCXSBtYi0yIHRleHQtbGciPlZXQVDjgqLjg6vjgrQ8L2g0Pg0KICAgICAgICAgICAgICAgICAgICA8cD7pgY7ljrvjga7lh7rmnaXpq5jjg5Hjgr/jg7zjg7PjgavlkIjjgo/jgZvjgablnYfnrYnjgavln7fooYzjgILjg57jg7zjgrHjg4Pjg4jjgqTjg7Pjg5Hjgq/jg4jjgpLmnIDlsI/ljJbjgZfjgZ/jgYTlronlrprjgZfjgZ/mtYHli5XmgKfnkrDlooPjgafpgbjlpb3jgZXjgozjgb7jgZnjgII8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJvcmRlci10LTQgYm9yZGVyLVsjRjk4ODY2XSBiZy1zbGF0ZS01MCByb3VuZGVkIj4NCiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgdGV4dC1bI0Y5ODg2Nl0gbWItMiB0ZXh0LWxnIj5JUyAo5a6f6KOF44K344On44O844OI44OV44Kp44O844OrKTwvaDQ+DQogICAgICAgICAgICAgICAgICAgIDxwPuS+oeagvOWkieWLleODquOCueOCr+OCkuWrjOOBhOOAgeaXqeOCgeOBruWft+ihjOOCkuebruaMh+OBmeOAguefreacn+eahOOBquOCouODq+ODleOCoe+8iOODquOCv+ODvOODs++8ieOBjOacn+W+heOBp+OBjeOCi+WxgOmdouOBp+S9v+eUqOOBleOCjOOBvuOBmeOAgjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXQtNCBib3JkZXItWyM2NkE1QURdIGJnLXNsYXRlLTUwIHJvdW5kZWQiPg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LVsjNjZBNUFEXSBtYi0yIHRleHQtbGciPlBPViAo5Y+C5Yqg546HKTwvaDQ+DQogICAgICAgICAgICAgICAgICAgIDxwPuWun+mam+OBruW4guWgtOWHuuadpemrmOOBruS4gOWumuWJsuWQiO+8iDEwJeetie+8ieOBp+WPguWKoOOAguaApea/gOOBquWHuuadpemrmOOBruWkieWMluOBq+WLleeahOOBq+WvvuW/nOOBl+OBn+OBhOWgtOWQiOOBq+acieWKueOBp+OBmeOAgjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPCEtLSBTZWN0aW9uIDM6IFNlc3Npb24gRHluYW1pY3MgLS0+DQogICAgICAgIDxzZWN0aW9uPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItOCBib3JkZXItbC04IGJvcmRlci1bI0Y5ODg2Nl0gcGwtNiI+DQogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1bIzAwM0I0Nl0iPjMuIDI05pmC6ZaT5biC5aC044Gu44K744OD44K344On44Oz44O744OA44Kk44OK44Of44Kv44K5PC9oMj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTYwMCBtdC0yIj5GWOW4guWgtOOBq+OBiuOBkeOCi1ZXQVDjg6rjgrvjg4Pjg4jjga7jgr/jgqTjg5/jg7PjgrDjgajmhI/lkbPjgII8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtNCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwLTYgYm9yZGVyLWItOCBib3JkZXIteWVsbG93LTQwMCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJweC0zIHB5LTEgYmcteWVsbG93LTEwMCB0ZXh0LXllbGxvdy04MDAgcm91bmRlZC1mdWxsIHRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSI+QXNpYSBTZXNzaW9uPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZ3JheS00MDAgdGV4dC14cyI+MDA6MDAgLSAwODowMCBHTVQ8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCBtYi0yIj7jg6zjg7Pjgrjjga7ln7rmupblvaLmiJA8L2g0Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNjAwIj7lh7rmnaXpq5jjgYzmr5TovIPnmoTlsJHjgarjgY/jgIFWV0FQ44KS5Lit5b+D44Gr5LiK5LiL5YuV44GX44KE44GZ44GE44CC44GT44GT44Gn44Gu6auY5YCk44O75a6J5YCk44Gv5b6M44Gu44K744OD44K344On44Oz44Gu6YeN6KaB55uu5qiZ44Gr44CCPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcC02IGJvcmRlci1iLTggYm9yZGVyLWJsdWUtNTAwIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InB4LTMgcHktMSBiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtODAwIHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UiPkxvbmRvbiBTZXNzaW9uPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZ3JheS00MDAgdGV4dC14cyI+MDg6MDAgLSAxNjowMCBHTVQ8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCBtYi0yIj7jg4jjg6zjg7Pjg4njga7otbfngrk8L2g0Pg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LWdyYXktNjAwIj7mtYHli5XmgKfjgYzniIbnmbrjgILjg6rjgrvjg4Pjg4jjgZXjgozjgZ/jg63jg7Pjg4njg7NWV0FQ44KS5L6h5qC844GM57at5oyB44GZ44KL44Gq44KJ44CB5by344GE44OI44Os44Oz44OJ44OQ44Kk44Ki44K544KS5oOz5a6a44CCPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcC02IGJvcmRlci1iLTggYm9yZGVyLXJlZC01MDAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHgtMyBweS0xIGJnLXJlZC0xMDAgdGV4dC1yZWQtODAwIHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UiPk5ZIFNlc3Npb248L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1ncmF5LTQwMCB0ZXh0LXhzIj4xMzowMCAtIDIxOjAwIEdNVDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIG1iLTIiPuacgOW8t+OBruOCouODs+OCq+ODvDwvaDQ+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZ3JheS02MDAiPuS4lueVjOS4reOBruapn+mWouaKleizh+WutuOBjOacgOOCgumHjeimluOAgk5ZIFZXQVDjga7pmLLooZvjgavjga/ojqvlpKfjgaros4fph5HjgYzmipXjgZjjgonjgozjgIHlvLfjgYTlj43nmbrjgpLnlJ/jgoDjgII8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0gU2VjdGlvbiA0OiBBZHZhbmNlZCBJbnN0aXR1dGlvbmFsIER5bmFtaWNzIC0tPg0KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMiBnYXAtMTIgaXRlbXMtc3RhcnQiPg0KICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LVsjMDAzQjQ2XSBtYi02Ij5UQ0Hjgajln7fooYzjgqLjg6vjgrTjg6rjgrrjg6Djga7mt7HlsaQ8L2gyPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNiI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbm9kZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWxnIHRleHQtWyMwMDNCNDZdIj5UQ0EgKOODiOODqeODs+OCtuOCr+OCt+ODp+ODs+ODu+OCs+OCueODiOWIhuaekCk8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTYwMCI+5qmf6Zai5oqV6LOH5a6244Gu5oiQ57i+6KmV5L6h44Gu5p6g57WE44G/44CC5omL5pWw5paZ44Gg44GR44Gn44Gq44GP44CB6Ieq6Lqr44Gu5aSn5Y+j5rOo5paH44GM5biC5aC044Gr5LiO44GI44KL44CM44Oe44O844Kx44OD44OI44Kk44Oz44OR44Kv44OI44CN44KE44CB5Z+36KGM6YGF5bu244Gr44KI44KL44CM5qmf5Lya5pCN5aSx5L6h5qC844CN44KS5Y6z5qC844Gr5a6a6YeP5YyW44O755uj6KaW44GX44G+44GZ44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1ub2RlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtbGcgdGV4dC1bIzAwM0I0Nl0iPklTICjlrp/oo4Xjgrfjg6fjg7zjg4jjg5Xjgqnjg7zjg6spPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZ3JheS02MDAiPuOAjOS7iuOBmeOBkOiyt+OCj+OBquOBhOOBqOS+oeagvOOBjOmAg+OBkuOCi+OAjeWxgOmdouOBp+S9v+eUqOOAguaEj+aAneaxuuWumuaZguOBruS+oeagvChBcnJpdmFsIFByaWNlKeOBi+OCieOBruS5lumbouOCkuWrjOOBhOOAgeW6j+ebpOOBq+OCouOCsOODrOODg+OCt+ODluOBq+azqOaWh+OCkuOBtuOBpOOBkeOCi+OBn+OCgeOAgeefreacn+eahOOBquOCpOODs+ODkeOCr+ODiOOBjOWkp+OBjeOBj+OBquOCiuOBvuOBmeOAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbm9kZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWxnIHRleHQtWyMwMDNCNDZdIj5QT1YgKOWHuuadpemrmOWPguWKoOeOhyk8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTYwMCI+5biC5aC044Gu44Oq44Ki44Or44K/44Kk44Og5Ye65p2l6auY44Gr5a++44GX44Gm5LiA5a6a5Ymy5ZCIKOS+izoxMCUp44Gn6Ieq5YuV6L+95b6T44CC56qB55m655qE44Gq44OL44Ol44O844K5562J44Gn5rWB5YuV5oCn44GM5oCl5aSJ44GX44Gf6Zqb44CB5biC5aC044Gu6Ieq54S244Gq54ax54uC44Gr5ZCM5YyW44GX44Gm5Z+36KGM44GZ44KL44Gu44Gr6YGp44GX44Gm44GE44G+44GZ44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1ub2RlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtbGcgdGV4dC1bIzAwM0I0Nl0iPlRXQVAgKOaZgumWk+WKoOmHjeW5s+Wdhyk8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTYwMCI+5Ye65p2l6auY44Gu5YGP44KK44KS54Sh6KaW44GX44CB5oyH5a6a5pmC6ZaT5YaF44Gn5Z2H562J44Gr5qmf5qKw55qE5Z+36KGM44CC5rWB5YuV5oCn44GM6JaE44GE6YqY5p+E44Gq44Gp44Gn44CBVldBUOOBruOCiOOBhuOBqumBjuWOu+OBruWHuuadpemrmOODkeOCv+ODvOODs+OBq+S+neWtmOOBm+OBmui2s+i3oeOCkumaoOOBl+OBn+OBhCjjgrnjg4bjg6vjgrkp5aC05ZCI44Gr5L2/44KP44KM44G+44GZ44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctWyMwMDNCNDZdIHRleHQtd2hpdGUgcC04IHJvdW5kZWQtMnhsIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIj4NCiAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIG1iLTQgdGV4dC1bI0Y5ODg2Nl0iPuapn+mWouaKleizh+WutuOBruOAjOOCuOODrOODs+ODnuOAjTwvaDM+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIG9wYWNpdHktODAgbWItNiBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAg5qmf6Zai5oqV6LOH5a6244Gu44Ki44Or44K044Oq44K644Og6YG45oqe44Gv44CB5bi444Gr5LiA44Gk44Gu5q6L6YW344Gq44OI44Os44O844OJ44Kq44OV44Gr5pSv6YWN44GV44KM44Gm44GE44G+44GZ44CC44Gd44KM44GvPHN0cm9uZz7jgIzjg57jg7zjgrHjg4Pjg4jjgqTjg7Pjg5Hjgq/jg4jvvIjoh6rliIbjga7ms6jmlofjgafkvqHmoLzjgpLmgqrljJbjgZXjgZvjgovvvInjgI08L3N0cm9uZz7jgag8c3Ryb25nPuOAjOS+oeagvOWkieWLleODquOCueOCr++8iOODouOCv+ODouOCv+OBl+OBpuOBhOOCi+mWk+OBq+S+oeagvOOBjOmAg+OBkuOCi++8ieOAjTwvc3Ryb25nPuOBruOBqeOBoeOCieOCkuioseWuueOBmeOCi+OBi+OBp+OBmeOAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS01IGJnLXdoaXRlLzUgcC02IHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci13aGl0ZS8xMCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIG1iLTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LXNlbWlib2xkIHRleHQtcmVkLTQwMCI+SVMgKOaApeOBhOOBp+Wft+ihjCk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZ3JheS0zMDAgdGV4dC14cyI+44Kk44Oz44OR44Kv44OI5aSnIC8g5L6h5qC844Oq44K544Kv5bCPPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LWZ1bGwgYmctZ3JheS03MDAvNTAgcm91bmRlZC1mdWxsIGgtMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctcmVkLTQwMCBoLTIgcm91bmRlZC1mdWxsIiBzdHlsZT0id2lkdGg6IDg1JSI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIG1iLTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LXNlbWlib2xkIHRleHQtWyM2NkE1QURdIj5WV0FQIC8gUE9WICjjg5Djg6njg7PjgrkpPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIHRleHQteHMiPuOCpOODs+ODkeOCr+ODiOS4rSAvIOS+oeagvOODquOCueOCr+S4rTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIGJnLWdyYXktNzAwLzUwIHJvdW5kZWQtZnVsbCBoLTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLVsjNjZBNUFEIGgtMiByb3VuZGVkLWZ1bGwiIHN0eWxlPSJ3aWR0aDogNTAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZBNUFEOyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIG1iLTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LXNlbWlib2xkIHRleHQtZ3JheS00MDAiPlRXQVAgKOOChuOBo+OBj+OCiuWft+ihjCk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZ3JheS0zMDAgdGV4dC14cyI+44Kk44Oz44OR44Kv44OI5bCPIC8g5L6h5qC844Oq44K544Kv5aSnPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LWZ1bGwgYmctZ3JheS03MDAvNTAgcm91bmRlZC1mdWxsIGgtMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctZ3JheS00MDAgaC0yIHJvdW5kZWQtZnVsbCIgc3R5bGU9IndpZHRoOiAyMCUiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTYgcHQtNCBib3JkZXItdCBib3JkZXItd2hpdGUvMTAgdGV4dC14cyB0ZXh0LXdoaXRlLzYwIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOWkp+WPo+OBruazqOaWh+OBjOOBqeOBruOCouODq+OCtOODquOCuuODoOOCkuiqmOeZuuOBl+OBpuOBhOOCi+OBi+OCkuaOqOa4rOOBmeOCi+OBk+OBqOOBp+OAgeWAi+S6uuODiOODrOODvOODgOODvOOBr+ebuOWgtOOBruOAjOeEpuOCiuOAjeOChOOAjOODiOODrOODs+ODieOBrue2mee2muaAp+OAjeOCkuiqreOBv+ino+OBj+OCqOODg+OCuO+8iOWEquS9jeaAp++8ieOCkuW+l+OCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8IS0tIFNlY3Rpb24gNTogU3RyYXRlZ2llcyAtLT4NCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBiLTEyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTEyIj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LVsjMDAzQjQ2XSI+5a6f6Le155qE44OI44Os44O844OJ5oim55Wl44Gu44Od44O844OI44OV44Kp44Oq44KqPC9oMj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTYwMCI+54q25rOB44Gr5b+c44GY44GfVldBUOOBruS9v+OBhOWIhuOBkTwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC04Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJzdHJhdGVneVJhZGFyQ2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgc3BhY2UteS00Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJnLXdoaXRlIHJvdW5kZWQtbGcgc2hhZG93IGJvcmRlci1sLTQgYm9yZGVyLVsjMDc1NzVCXSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCI+44OI44Os44Oz44OJ44O744OV44Kj44Or44K/44O85oim55WlPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JheS01MDAiPuS+oeagvOOBjFZXQVDjgojjgorkuIrjgarjgonjg63jg7PjgrDjgIHkuIvjgarjgonjgrfjg6fjg7zjg4jjga7jgb/jgavpmZDlrprjgZnjgovmnIDjgoLlronlhajjgarmlrnms5XjgII8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctd2hpdGUgcm91bmRlZC1sZyBzaGFkb3cgYm9yZGVyLWwtNCBib3JkZXItWyNGOTg4NjZdIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIj7lubPlnYflm57luLAoTWVhbiBSZXZlcnNpb24pPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JheS01MDAiPjLPg+S5lumbouOBi+OCieOBrlZXQVDjgr/jg4Pjg4HjgpLni5njgYbjgILjg6zjg7Pjgrjnm7jloLTjgoTmjIfmqJnnmbrooajlvozjga7okL3jgaHnnYDjgY3lsYDpnaLjgafmnInlirnjgII8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctd2hpdGUgcm91bmRlZC1sZyBzaGFkb3cgYm9yZGVyLWwtNCBib3JkZXItWyM2NkE1QURdIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIj7jgqLjg7Pjgqvjg7xWV0FQ44O744OW44Os44Kk44KvPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JheS01MDAiPumbh+eUqOe1seioiOOBquOBqeOBrui1t+eCueOCkuOCouODs+OCq+ODvOOBqOOBl+OAgeOBneOBruW5s+Wdh+WPluW+l+S+oeagvOOCkuS4iuaKnOOBkeOBn+mam+OBruWIneWLleOCkueLmeOBhuOAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgPC9tYWluPg0KDQogICAgPHNjcmlwdD4NCiAgICAgICAgLy8gQ29tbW9uIFRvb2x0aXAgQ29uZmlnDQogICAgICAgIGNvbnN0IGNvbW1vblRvb2x0aXBDb25maWcgPSB7DQogICAgICAgICAgICBjYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgICB0aXRsZTogZnVuY3Rpb24odG9vbHRpcEl0ZW1zKSB7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0b29sdGlwSXRlbXNbMF07DQogICAgICAgICAgICAgICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uY2hhcnQuZGF0YS5sYWJlbHNbaXRlbS5kYXRhSW5kZXhdOw0KICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsYWJlbCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbC5qb2luKCcgJyk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWw7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gMS4gVm9sdW1lIENvcnJlbGF0aW9uIENoYXJ0IChEb251dC1saWtlIENvbXBhcmlzb24pDQogICAgICAgIGNvbnN0IGN0eDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndm9sdW1lQ29ycmVsYXRpb25DaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHgxLCB7DQogICAgICAgICAgICB0eXBlOiAnbGluZScsDQogICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgbGFiZWxzOiBbJzA5OjAwJywgJzEwOjAwJywgJzExOjAwJywgJzEyOjAwJywgJzEzOjAwJywgJzE0OjAwJywgJzE1OjAwJ10sDQogICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiBbJ+Wun+ODnOODquODpeODvOODoCjlhYjnianluILloLQpJ10sDQogICAgICAgICAgICAgICAgICAgIGRhdGE6IFsxMjAsIDE5MCwgMTUwLCA4MCwgMTAwLCAyMjAsIDI4MF0sDQogICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzAwM0I0NicsDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgNTksIDcwLCAwLjEpJywNCiAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgdGVuc2lvbjogMC40DQogICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogWyfjg4bjgqPjg4Pjgq/jg5zjg6rjg6Xjg7zjg6AgKEZYKSddLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMTE1LCAxODUsIDE1NSwgODUsIDEwNSwgMjEwLCAyNzBdLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNGOTg4NjYnLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJEYXNoOiBbNSwgNV0sDQogICAgICAgICAgICAgICAgICAgIGZpbGw6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICB0ZW5zaW9uOiAwLjQNCiAgICAgICAgICAgICAgICB9XQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7DQogICAgICAgICAgICAgICAgICAgIGxlZ2VuZDogeyANCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsczogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMS41DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiBjb21tb25Ub29sdGlwQ29uZmlnDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsNCiAgICAgICAgICAgICAgICAgICAgeTogeyBkaXNwbGF5OiBmYWxzZSB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICAvLyAyLiBBbGdvIENvbXBhcmlzb24gQ2hhcnQNCiAgICAgICAgY29uc3QgY3R4MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGdvQ29tcGFyaXNvbkNoYXJ0JykuZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgbmV3IENoYXJ0KGN0eDIsIHsNCiAgICAgICAgICAgIHR5cGU6ICdiYXInLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogW1snVldBUCcsICfjgqLjg6vjgrTjg6rjgrrjg6AnXSwgWydJUycsICfjgqLjg6vjgrTjg6rjgrrjg6AnXSwgWydQT1YnLCAn44Ki44Or44K044Oq44K644OgJ11dLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+Wft+ihjOWuieWumuaApycsDQogICAgICAgICAgICAgICAgICAgIGRhdGE6IFs5NSwgNjAsIDg1XSwNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzA3NTc1QicNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn44Kz44K544OI5YmK5ribJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzgwLCA5MCwgNzBdLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRjk4ODY2Jw0KICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfmtYHli5XmgKfov73lvpPmgKcnLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbNzAsIDUwLCA5NV0sDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyM2NkE1QUQnDQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogew0KICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiBjb21tb25Ub29sdGlwQ29uZmlnDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICAvLyAzLiBTdHJhdGVneSBSYWRhciBDaGFydA0KICAgICAgICBjb25zdCBjdHgzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0cmF0ZWd5UmFkYXJDaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHgzLCB7DQogICAgICAgICAgICB0eXBlOiAncmFkYXInLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogWyfli53njocnLCAn5Yip55uK546HJywgJ+Wun+ihjOWuueaYk+aApycsICflv4PnkIbnmoTosqDojbcnLCAn5rGO55So5oCnJ10sDQogICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5bmz5Z2H5Zue5biw5oim55WlJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzgwLCA2MCwgOTAsIDcwLCA4NV0sDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMjQ5LCAxMzYsIDEwMiwgMC4yKScsDQogICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnI0Y5ODg2NicsDQogICAgICAgICAgICAgICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiAnI0Y5ODg2NicNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn44OI44Os44Oz44OJ6L+96ZqPJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzY1LCA5NSwgODAsIDg1LCA3NV0sDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoNywgODcsIDkxLCAwLjIpJywNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjMDc1NzVCJywNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6ICcjMDc1NzVCJw0KICAgICAgICAgICAgICAgIH1dDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLA0KICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogY29tbW9uVG9vbHRpcENvbmZpZw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7DQogICAgICAgICAgICAgICAgICAgIHI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWF4OiAxMDANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgPC9zY3JpcHQ+DQogICAgPCEtLSANCiAgICBbTk8gU1ZHIC8gTk8gTUVSTUFJRCBDT05GSVJNQVRJT05dDQogICAgLSBBbGwgY2hhcnRzIGFyZSByZW5kZXJlZCB2aWEgQ2hhcnQuanMgb24gSFRNTDUgQ2FudmFzLg0KICAgIC0gQWxsIGRpYWdyYW1zIGFuZCBVSSBlbGVtZW50cyBhcmUgYnVpbHQgdXNpbmcgc3RydWN0dXJlZCBUYWlsd2luZCBDU1MgKEZsZXhib3gvR3JpZC9Cb3JkZXJzKS4NCiAgICAtIE1lcm1haWQgSlMgbGlicmFyeSBpcyBub3QgdXNlZC4NCiAgICAtLT4NCjxzY3JpcHQ+DQooZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgIHZhciBGUkFNRV9JRCA9ICJmeGNvbXAtaHRtbC1mcmFtZS0wMzQ1ZDBiOC03YjZlLTRlYjItODY5NC1mNmJjZDg2ZjRlZWEiOw0KICAgIHZhciB0aW1lciA9IG51bGw7DQoNCiAgICBmdW5jdGlvbiBnZXRIZWlnaHQoKSB7DQogICAgICAgIHZhciBiID0gZG9jdW1lbnQuYm9keTsNCiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQoNCiAgICAgICAgaWYgKCFiIHx8ICFlKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIC8qDQogICAgICAgICAqIOmHjeimgToNCiAgICAgICAgICogY2xpZW50SGVpZ2h0IC8gb2Zmc2V0SGVpZ2h0IOOBr+ePvuWcqOOBrmlmcmFtZemrmOOBleOCkuaLvuOBhOOChOOBmeOBj+OAgQ0KICAgICAgICAgKiDkuIDluqbjgrnjg57jg5vluYXjgaflpKfjgY3jgY/jgarjgaPjgZ/pq5jjgZXjgYzmiLvjgonjgarjgYTljp/lm6DjgavjgarjgovjgIINCiAgICAgICAgICog44Gd44Gu44Gf44KB44CB5a6f44Kz44Oz44OG44Oz44OE5a+E44KK44GuIHNjcm9sbEhlaWdodCAvIGdldEJvdW5kaW5nQ2xpZW50UmVjdCDjgpLkuK3lv4PjgavmuKzjgovjgIINCiAgICAgICAgICovDQogICAgICAgIHZhciBib2R5UmVjdCA9IGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID8gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA6IHsgaGVpZ2h0OiAwIH07DQogICAgICAgIHZhciBodG1sUmVjdCA9IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID8gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA6IHsgaGVpZ2h0OiAwIH07DQoNCiAgICAgICAgdmFyIGNhbmRpZGF0ZXMgPSBbDQogICAgICAgICAgICBiLnNjcm9sbEhlaWdodCB8fCAwLA0KICAgICAgICAgICAgZS5zY3JvbGxIZWlnaHQgfHwgMCwNCiAgICAgICAgICAgIE1hdGguY2VpbChib2R5UmVjdC5oZWlnaHQgfHwgMCksDQogICAgICAgICAgICBNYXRoLmNlaWwoaHRtbFJlY3QuaGVpZ2h0IHx8IDApDQogICAgICAgIF07DQoNCiAgICAgICAgdmFyIGggPSAwOw0KDQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FuZGlkYXRlcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgaWYgKGNhbmRpZGF0ZXNbaV0gPiBoKSB7DQogICAgICAgICAgICAgICAgaCA9IGNhbmRpZGF0ZXNbaV07DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gaDsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzZW5kSGVpZ2h0KCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGggPSBnZXRIZWlnaHQoKTsNCg0KICAgICAgICAgICAgaWYgKGggPiAwICYmIHdpbmRvdy5wYXJlbnQpIHsNCiAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogImZ4Y29tcC1odG1sLWlmcmFtZS1oZWlnaHQiLA0KICAgICAgICAgICAgICAgICAgICBmcmFtZUlkOiBGUkFNRV9JRCwNCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoDQogICAgICAgICAgICAgICAgfSwgIioiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzZW5kSGVpZ2h0U29vbigpIHsNCiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsNCg0KICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIHsNCiAgICAgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShzZW5kSGVpZ2h0KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgc2VuZEhlaWdodCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCAzMCk7DQogICAgfQ0KDQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBzZW5kSGVpZ2h0U29vbik7DQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHNlbmRIZWlnaHRTb29uKTsNCg0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YSB8fCB7fTsNCg0KICAgICAgICBpZiAoIWRhdGEgfHwgZGF0YS50eXBlICE9PSAiZnhjb21wLWh0bWwtaWZyYW1lLW1lYXN1cmUiKSB7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZGF0YS5mcmFtZUlkICE9PSBGUkFNRV9JRCkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgc2VuZEhlaWdodFNvb24oKTsNCiAgICB9KTsNCg0KICAgIGlmICgiUmVzaXplT2JzZXJ2ZXIiIGluIHdpbmRvdykgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKHNlbmRIZWlnaHRTb29uKTsNCg0KICAgICAgICAgICAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkgew0KICAgICAgICAgICAgICAgIHJvLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkpIHsNCiAgICAgICAgICAgICAgICByby5vYnNlcnZlKGRvY3VtZW50LmJvZHkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIGlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5yZWFkeSkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihzZW5kSGVpZ2h0U29vbik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgdmFyIGNvdW50ID0gMDsNCiAgICB2YXIgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7DQogICAgICAgIHNlbmRIZWlnaHRTb29uKCk7DQogICAgICAgIGNvdW50ICs9IDE7DQoNCiAgICAgICAgaWYgKGNvdW50ID4gMjApIHsNCiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOw0KICAgICAgICB9DQogICAgfSwgNTAwKTsNCg0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDUwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAzMDApOw0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDEwMDApOw0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDI1MDApOw0KfSkoKTsNCjwvc2NyaXB0Pgo8L2JvZHk+DQo8L2h0bWw+</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-0345d0b8-7b6e-4eb2-8694-f6bcd86f4eea";
                var SOURCE_ID = "fxcomp-html-frame-0345d0b8-7b6e-4eb2-8694-f6bcd86f4eea-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div>
        
</p><p>The post <a href="https://fxcomp.net/vwap-1776">VWAP を知ってトレードに生かす</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/vwap-1776/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>コモディティ投資の深層：実物資産の役割と実践的ポートフォリオ</title>
		<link>https://fxcomp.net/commodity-2-1771</link>
					<comments>https://fxcomp.net/commodity-2-1771#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Mon, 06 Jul 2026 13:40:44 +0000</pubDate>
				<category><![CDATA[オススメ記事]]></category>
		<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1771</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-61483670-961c-40f0-bb8f-f70e26b33c10"
                class="fxcomp-html-iframe"
                title="コモディティ投資の深層：実物資産の役割と実践的ポートフォリオ"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-61483670-961c-40f0-bb8f-f70e26b33c10-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT7jgrPjg6Ljg4fjgqPjg4bjgqPmipXos4fjga7mt7HlsaTvvJrlrp/nianos4fnlKPjga7lvbnlibLjgajlrp/ot7XnmoTjg53jg7zjg4jjg5Xjgqnjg6rjgqo8L3RpdGxlPg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4ucGxvdC5seS9wbG90bHktMi4yNy4wLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHN0eWxlPg0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDQwMDs3MDAmZmFtaWx5PU5vdG8rU2FucytKUDp3Z2h0QDQwMDs3MDAmZGlzcGxheT1zd2FwJyk7DQogICAgICAgIGJvZHkgeyBmb250LWZhbWlseTogJ0ludGVyJywgJ05vdG8gU2FucyBKUCcsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICNGOEZBRkM7IGNvbG9yOiAjMEYxNzJBOyB9DQogICAgICAgIC5jaGFydC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDY1MHB4OyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBoZWlnaHQ6IDM1MHB4OyBtYXgtaGVpZ2h0OiA0MDBweDsgfQ0KICAgICAgICAuZ3JhZGllbnQtYmcgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMEYxNzJBIDAlLCAjMUUyOTNCIDEwMCUpOyB9DQogICAgICAgIC5jYXJkIHsgYmFja2dyb3VuZDogd2hpdGU7IGJvcmRlci1yYWRpdXM6IDFyZW07IGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpOyBwYWRkaW5nOiAycmVtOyB9DQogICAgICAgIC5zdGF0LXZhbHVlIHsgZm9udC1zaXplOiAyLjVyZW07IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiAjM0I4MkY2OyB9DQogICAgICAgIC50YWItYWN0aXZlIHsgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMzQjgyRjY7IGNvbG9yOiAjM0I4MkY2OyB9DQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgeyAuY2hhcnQtY29udGFpbmVyIHsgaGVpZ2h0OiAzMDBweDsgfSB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJhbnRpYWxpYXNlZCBvdmVyZmxvdy14LWhpZGRlbiI+DQoNCiAgICA8aGVhZGVyIGNsYXNzPSJncmFkaWVudC1iZyB0ZXh0LXdoaXRlIHB5LTE2IHB4LTYgdGV4dC1jZW50ZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJtYXgtdy00eGwgbXgtYXV0byI+DQogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWJsb2NrIHB4LTQgcHktMSByb3VuZGVkLWZ1bGwgYmctYmx1ZS01MDAgdGV4dC1zbSBmb250LWJvbGQgbWItNCI+5a6f54mp6LOH55Sj44Gu5YqbPC9zcGFuPg0KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LTR4bCBtZDp0ZXh0LTZ4bCBmb250LWV4dHJhYm9sZCBtYi02IHRyYWNraW5nLXRpZ2h0Ij7jgrPjg6Ljg4fjgqPjg4bjgqPmipXos4fjga7mt7HlsaQ8L2gxPg0KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtbGcgbWQ6dGV4dC14bCB0ZXh0LXNsYXRlLTMwMCBsZWFkaW5nLXJlbGF4ZWQgbWF4LXctMnhsIG14LWF1dG8iPg0KICAgICAgICAgICAgICAgIOOCpOODs+ODleODrOWKoOmAn+OAgeWcsOaUv+WtpueahOODquOCueOCr+OAgeOBneOBl+OBpumAmuiyqOS4jeWuieOAguS8nee1seeahOOBquagquW8j+ODu+WCteWIuOOBoOOBkeOBp+OBr+mYsuOBjuOBjeOCjOOBquOBhOODquOCueOCr+OBq+WvvuOBl+OAgeOAjOe0oOadkOOAjeOBneOBruOCguOBruOBq+aKleizh+OBmeOCi+OCs+ODouODh+OCo+ODhuOCo+OBjOacgOW8t+OBrumYsuazouWgpOOBqOOBquOCiuOBvuOBmeOAgg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2hlYWRlcj4NCg0KICAgIDxtYWluIGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHB5LTEyIHNwYWNlLXktMTYiPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJpbnRyb2R1Y3Rpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMTIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1kOnctMS8yIj4NCiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNCI+44Oa44O844OR44O844Ki44K744OD44OIIHZzIOWun+eJqeizh+eUozwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi02IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICDmoKrlvI/jgoTlgrXliLjjga/jgIzlsIbmnaXjga7jgq3jg6Pjg4Pjgrfjg6Xjg5Xjg63jg7zjgI3jgpLmnJ/lvoXjgZnjgovjg5rjg7zjg5Hjg7zjgqLjgrvjg4Pjg4jjgafjgZnjgYzjgIHjgrPjg6Ljg4fjgqPjg4bjgqPjga/jgZ3jgozoh6rkvZPjgavkvqHlgKTjgYzjgYLjgovjgIzlrp/nianos4fnlKPjgI3jgafjgZnjgILnmbrooYzkvZPjgYznoLTntrvjgZfjgabjgoLkvqHlgKTjgYzjgrzjg63jgavjgarjgonjgarjgYTjgqvjgqbjg7Pjgr/jg7zjg5Hjg7zjg4bjgqPjg6rjgrnjgq/jga7kvY7jgZXjgYzjgIHkuI3norrlrp/jgarmmYLku6PjgavjgYrjgZHjgovmnIDlpKfjga7mrablmajjgajjgarjgorjgb7jgZnjgIINCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0yIGdhcC00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNCBiZy1ibHVlLTUwIHJvdW5kZWQtbGciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtYmx1ZS02MDAgZm9udC1ib2xkIG1iLTEiPuagquW8j+ODu+WCteWIuDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCI+5L+h55So5L6d5a2YPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNCBiZy1hbWJlci01MCByb3VuZGVkLWxnIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWFtYmVyLTYwMCBmb250LWJvbGQgbWItMSI+44Kz44Oi44OH44Kj44OG44KjPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIj7luIzlsJHkvqHlgKQ8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZDp3LTEvMiBtdC04IG1kOm10LTAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0ic2VjdG9yQ2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1jZW50ZXIgbXQtNCB0ZXh0LXNsYXRlLTQwMCI+44OW44Or44O844Og44OQ44O844Kw5ZWG5ZOB5oyH5pWwKEJDT00p44Gu5qeL5oiQ5q+U546H77yI55uu5a6J77yJPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC02IHRleHQtc2xhdGUtNjAwIHB4LTQiPg0KICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+6Kej6Kqs77yaPC9zdHJvbmc+44Kz44Oi44OH44Kj44OG44Kj5biC5aC044Gv5Y2Y5LiA44Gu6LOH55Sj44Gn44Gv44GC44KK44G+44Gb44KT44CC44Ko44ON44Or44Ku44O844CB6L6y55Sj54mp44CB6LK06YeR5bGe44CB55Sj5qWt55So6YeR5bGe44Go44GE44GGNOOBpOOBruS4u+imgeOCu+OCr+OCv+ODvOOBq+WIhuaVo+OBleOCjOOBpuOBhOOBvuOBmeOAguS7o+ihqOeahOOBquaMh+aVsOOBp+OBguOCi0JDT03jga/jgIHmtYHli5XmgKfjgajnlJ/nlKPpq5jjgavln7rjgaXjgYTjgabjgZPjgozjgonjgpLjg5Djg6njg7PjgrnjgojjgY/phY3lkIjjgZfjgIHnibnlrprjga7lk4Hnm67jgbjjga7pgY7luqbjgarkvp3lrZjjgpLpmLLjgYTjgafjgYTjgb7jgZnjgII8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJpbmZsYXRpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgbWItMTAiPg0KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIj7jgqTjg7Pjg5Xjg6znkrDlooPkuIvjgafjga7lnKflgJLnmoTjgarlhKrkvY3mgKc8L2gyPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC04Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCI+44Kk44Oz44OV44Os5oSf5b+c5bqm44Gu5q+U6LyDPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgqTjg7Pjg5Xjg6znjofjgYwxJeS4iuaYh+OBl+OBn+mam+OBruWQhOizh+eUo+OBruWPjeW/nOW6puOAguOCs+ODouODh+OCo+ODhuOCo+OBr+S7luOBruizh+eUo+e+pOOCkumBpeOBi+OBq+WHjOmnleOBmeOCi+aEn+W/nOW6puOCkuaMgeOBoeOAgeeJqeS+oeS4iuaYh+OCkuODgOOCpOODrOOCr+ODiOOBq+ODquOCv+ODvOODs+OBuOi7ouaPm+OBl+OBvuOBmeOAgg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9ImluZmxhdGlvbkNoYXJ0Ij48L2NhbnZhcz4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwIG10LTQgaXRhbGljIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIOKAu+OCs+ODouODh+OCo+ODhuOCo+OBruaEn+W/nOW6puOBr+WCteWIuOOBrue0hDIw5YCN44CC44Kk44Oz44OV44Os5bGA6Z2i44Gn44Gu5by35Yqb44Gq44CM55u+44CN44Go44Gq44KK44G+44GZ44CCDQogICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCI+44K544K/44Kw44OV44Os44O844K344On44Oz44G444Gu6ICQ5oCnPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTcw5bm05Luj44Gu44Kq44Kk44Or44K344On44OD44Kv44Gu44KI44GG44Gr44CB5pmv5rCX5b6M6YCA44Go44Kk44Oz44OV44Os44GM5ZCM5pmC6YCy6KGM44GZ44KL5bGA6Z2i44Gn44Gv44CB5qCq44O75YK15Yi444Gv5YWx5YCS44KM44GX44G+44GZ44CC44GT44Gu44CM5qW16ZmQ54q25oWL44CN44Gn5ZSv5LiA5Yip55uK44KS55Sf44G/5Ye644GX44GG44KL44Gu44GM44Kz44Oi44OH44Kj44OG44Kj44Gn44GZ44CCDQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zbGF0ZS01MCBwLTYgcm91bmRlZC14bCBib3JkZXItbC00IGJvcmRlci1lbWVyYWxkLTUwMCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBtYi00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0zeGwiPvCfm6HvuI88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWxnIj7mnIDlvLfjga7jg5jjg4PjgrjmqZ/og708L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS0zIHRleHQtc2xhdGUtNjAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggZ2FwLTIiPjxzcGFuPuODuzwvc3Bhbj4gPHNwYW4+5Y6f5rK55L6h5qC844Gu5LiK5piH44GvMeODtuaciOWFiOihjOOBl+OBpkNQSeOBq+azouWPijwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBnYXAtMiI+PHNwYW4+44O7PC9zcGFuPiA8c3Bhbj7jgrPjgrnjg4jjg5fjg4Pjgrfjg6XlnovjgqTjg7Pjg5Xjg6zjgavnm7TmjqXlr77lv5w8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggZ2FwLTIiPjxzcGFuPuODuzwvc3Bhbj4gPHNwYW4+6YCa6LKo5a6J77yI5YaG5a6J77yJ5bGA6Z2i44Gn44Gu6LOH55Sj5L+d5YWoPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPHNlY3Rpb24gaWQ9ImRpdmVyc2lmaWNhdGlvbiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCBtYi02Ij7kvY7nm7jplqLjgYznlJ/jgb/lh7rjgZnliIbmlaPlirnmnpw8L2gyPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1kOmZsZXggZ2FwLTEyIGl0ZW1zLWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1kOnctMy81Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0iY29ycmVsYXRpb25DaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1kOnctMi81IG10LTggbWQ6bXQtMCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAgbWItNiBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIOePvuS7o+ODneODvOODiOODleOCqeODquOCqueQhuirluOBruaguOW/g+OBr+OAjOeVsOOBquOCi+WLleOBjeOCkuOBmeOCi+izh+eUo+OBrue1hOOBv+WQiOOCj+OBm+OAjeOBp+OBmeOAguOCs+ODouODh+OCo+ODhuOCo+OBr+agquW8j+OChOWCteWIuOOBqOOBruebuOmWouOBjOS9juOBj+OAgeeJueOBq+mHke+8iOOCtOODvOODq+ODie+8ieOBr+exs+ODieODq+OBqOaYjueiuuOBquOAjOmAhuebuOmWouOAjeOBrumWouS/guOBq+OBguOCiuOBvuOBmeOAgg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgcC0zIGJvcmRlci1iIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvbnQtYm9sZCI+57Gz5Zu95qCqIHZzIOmHkTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtYmx1ZS02MDAgZm9udC1ib2xkIj7kvY7nm7jplqIgKDAuMSk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHAtMyBib3JkZXItYiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LWJvbGQiPuexs+ODieODqyB2cyDph5E8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXJlZC01MDAgZm9udC1ib2xkIj7osqDjga7nm7jplqIgKC0wLjQpPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibXQtNiB0ZXh0LXNtIHRleHQtc2xhdGUtNTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDmoKrlvI/jgYzmmrTokL3jgZnjgovlsYDpnaLjgafjgIHos4fph5Hjga7pgIPpgb/lhYjjgajjgZfjgabmqZ/og73jgZnjgovjgZPjgajjgafjg53jg7zjg4jjg5Xjgqnjg6rjgqrlhajkvZPjga7mnIDlpKfkuIvokL3njofvvIjjg4njg63jg7zjg4Djgqbjg7PvvInjgpLmipHliLbjgZfjgb7jgZnjgIINCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJyaXNrcyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCBtYi00Ij7mipXos4fjga7pm6PjgZfjgZXvvJrjgrPjg7Pjgr/jg7PjgrTjgajjgYTjgYbjgIzopovjgYjjgarjgYTjgrPjgrnjg4jjgI08L2gyPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi04IG1heC13LTN4bCI+DQogICAgICAgICAgICAgICAgICAgIOOCs+ODouODh+OCo+ODhuOCo+aKleizh+OBq+OBr+OAjOmFjeW9k+OAjeOBjOOBguOCiuOBvuOBm+OCk+OAguOBneOCjOOBqeOBk+OCjeOBi+OAgeWFiOeJqeW4guWgtOOBp+mBi+eUqOOBleOCjOOCi0VURuOBquOBqeOBp+OBr+OAgemVt+acn+S/neacieOBmeOCi+OBoOOBkeOBp+S+oeWApOOBjOebrua4m+OCiuOBmeOCi+ani+mAoOeahOOBquODquOCueOCr+OBjOWtmOWcqOOBl+OBvuOBmeOAgg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb250YW5nb1Bsb3QiIGNsYXNzPSJ3LWZ1bGwgaC1bNDAwcHhdIj48L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC04IGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTgiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTYgYmctcmVkLTUwIGJvcmRlciBib3JkZXItcmVkLTEwMCByb3VuZGVkLXhsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtcmVkLTcwMCBtYi0yIj7jgrPjg7Pjgr/jg7PjgrTvvIjpoIbjgZbjgoTvvIk8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1yZWQtODAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDkv53nrqHjgrPjgrnjg4jjgavjgojjgormnJ/lhYjkvqHmoLzjgYzpq5jjgY/jgarjgovnirbmhYvjgILjg63jg7zjg6vjgqrjg7zjg5Djg7zvvIjosrfjgYTmm7/jgYjvvInjga7jgZ/jgbPjgavjgIzlronjgYTjgoLjga7jgpLlo7LjgorjgIHpq5jjgYTjgoLjga7jgpLosrfjgYbjgI3jgZ/jgoHjgIHos4fnlKPjgYzmuJvkvqHjgZfjgb7jgZnjgIINCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InAtNiBiZy1lbWVyYWxkLTUwIGJvcmRlciBib3JkZXItZW1lcmFsZC0xMDAgcm91bmRlZC14bCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWVtZXJhbGQtNzAwIG1iLTIiPuODkOODg+OCr+ODr+ODvOODh+ODvOOCt+ODp+ODs++8iOmAhuOBluOChO+8iTwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LWVtZXJhbGQtODAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDkvpvntabkuI3otrPjgafnm67lhYjjga7nj77nianpnIDopoHjgYzmgKXlopfjgZfjgZ/nirbmhYvjgILjg63jg7zjg6vjgqrjg7zjg5Djg7zjgafjg5fjg6njgrnjga7lj47nm4rjgYznmbrnlJ/jgZfjgb7jgZnjgYzjgIHkuIDmmYLnmoTjgarnj77osaHjgafjgYLjgovjgZPjgajjgYzlpJrjgYTjgafjgZnjgIINCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJtZXRob2RzIj4NCiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTggdGV4dC1jZW50ZXIiPuaKleizh+aJi+azleOBqOeojuWItuOBruavlOi8gzwvaDI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvdy14LWF1dG8gc2hhZG93LXhsIHJvdW5kZWQteGwiPg0KICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idy1mdWxsIHRleHQtbGVmdCBiZy13aGl0ZSI+DQogICAgICAgICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz0iYmctc2xhdGUtODAwIHRleHQtd2hpdGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icC00Ij7mipXos4fmiYvms5U8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icC00Ij7liKnngrk8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icC00Ij7jg6rjgrnjgq/jg7vjgrPjgrnjg4g8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icC00Ij7nqI7liLbjg7vlj6Pluqc8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzPSJkaXZpZGUteSBkaXZpZGUtc2xhdGUtMjAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCBmb250LWJvbGQiPuePvueJqeaKleizhyAo6YeR5Zyw6YeRKTwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJwLTQiPueptualteOBruWuieWFqOaAp+ODu+acieS6i+iAkOaApzwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJwLTQiPuS/neeuoeOCs+OCueODiOODu+ebl+mbo+ODquOCueOCrzwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJwLTQiPue3j+WQiOiqsueojiAoNTDkuIfmjqfpmaTjgYLjgoopPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJwLTQgZm9udC1ib2xkIj5FVEbjg7vmipXos4fkv6HoqJc8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0icC00Ij7pq5jjgYTmtYHli5XmgKfjg7vlsJHpoY3mipXos4c8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0icC00Ij7jg63jg7zjg6vjgrPjgrnjg4go5YWI54mp5Z6LKTwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJwLTQiPueUs+WRiuWIhumbouiqsueojuODu05JU0Hlr77lv5w8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCBmb250LWJvbGQiPumWoumAo+agquW8jzwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJwLTQiPumFjeW9kyjjgqTjg7Pjgqvjg6Ap44GM5b6X44KJ44KM44KLPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCI+5YCL5Yil5LyB5qWt44Gu57WM5Za244Oq44K544KvPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCI+55Sz5ZGK5YiG6Zui6Kqy56iO44O7TklTQeWvvuW/nDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0icC00IGZvbnQtYm9sZCI+Q0ZE5Y+W5byVPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCI+44Os44OQ44Os44OD44K444O75aOy44KK44GM5Y+v6IO9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCI+44Ot44K544Kr44OD44OI44O76YeR5Yip44Kz44K544OIPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InAtNCI+55Sz5ZGK5YiG6Zui6Kqy56iOPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPHNlY3Rpb24gaWQ9ImNvbmNsdXNpb24iIGNsYXNzPSJncmFkaWVudC1iZyB0ZXh0LXdoaXRlIHJvdW5kZWQtMnhsIHAtMTIgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNiI+57WQ6KuW77ya44Od44O844OI44OV44Kp44Oq44Kq44GuNeOAnDEwJeOCkuOAjOWun+eJqeOAjeOBuDwvaDI+DQogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1sZyB0ZXh0LXNsYXRlLTMwMCBtYi0xMCBtYXgtdy0zeGwgbXgtYXV0byBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgIOOCs+ODouODh+OCo+ODhuOCo+OBr+ODoeOCpOODs+OBruaKleizh+WvvuixoeOBp+OBr+OBguOCiuOBvuOBm+OCk+OAguOBl+OBi+OBl+OAgeagquW8jzYwJS/lgrXliLg0MCXjgajjgYTjgYbkvJ3ntbHnmoTjgarntYTjgb/lkIjjgo/jgZvjgYzmqZ/og73kuI3lhajjgavpmaXjgovjgIzjgqTjg7Pjg5Xjg6zjga7mmYLku6PjgI3jgavjgYrjgYTjgabjgIHjg53jg7zjg4jjg5Xjgqnjg6rjgqrjga7mlbDjg5Hjg7zjgrvjg7Pjg4jjgpLmjK/jgorlkJHjgZHjgovjgaDjgZHjgafjgIHos4fnlKPlhajkvZPjga7lronlrprmgKfjga/liofnmoTjgavlkJHkuIrjgZfjgb7jgZnjgIINCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC13cmFwIGp1c3RpZnktY2VudGVyIGdhcC02Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJweC04IHB5LTQgYmctd2hpdGUvMTAgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItd2hpdGUvMjAiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIj7ph5Hnj77niak8L3NwYW4+77ya6LaF6ZW35pyf44Gu5L+d5YWoDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHgtOCBweS00IGJnLXdoaXRlLzEwIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXdoaXRlLzIwIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtNDAwIj5CQ09N5Z6L5oqV5L+hPC9zcGFuPu+8muepjeeri+OBp+OBruWIhuaVow0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB4LTggcHktNCBiZy13aGl0ZS8xMCByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCI+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LWJvbGQgdGV4dC1lbWVyYWxkLTQwMCI+6LOH5rqQ5qCqPC9zcGFuPu+8mumFjeW9k+OBqOOBruS4oeeriw0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgIDwvbWFpbj4NCg0KICAgIDxmb290ZXIgY2xhc3M9ImJnLXNsYXRlLTEwMCBweS0xMiBweC02IHRleHQtY2VudGVyIHRleHQtc2xhdGUtNTAwIHRleHQtc20iPg0KICAgICAgICA8cD7mnKzos4fmlpnjga/mlZnogrLnm67nmoTjgafjgYLjgorjgIHmipXos4fli6foqpjjgpLnm67nmoTjgajjgZfjgZ/jgoLjga7jgafjga/jgYLjgorjgb7jgZvjgpPjgII8L3A+DQogICAgICAgICAgICA8L2Zvb3Rlcj4NCg0KICAgIDxzY3JpcHQ+DQogICAgICAgIGNvbnN0IHdyYXBMYWJlbCA9IChsYWJlbCkgPT4gew0KICAgICAgICAgICAgaWYgKHR5cGVvZiBsYWJlbCAhPT0gJ3N0cmluZycpIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgIGlmIChsYWJlbC5sZW5ndGggPD0gMTYpIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gbGFiZWwuc3BsaXQoJyAnKTsNCiAgICAgICAgICAgIGlmICh3b3Jkcy5sZW5ndGggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBjb25zdCBtaWQgPSBNYXRoLmNlaWwobGFiZWwubGVuZ3RoIC8gMik7DQogICAgICAgICAgICAgICAgcmV0dXJuIFtsYWJlbC5zdWJzdHJpbmcoMCwgbWlkKSwgbGFiZWwuc3Vic3RyaW5nKG1pZCldOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgbGV0IGxpbmVzID0gW107DQogICAgICAgICAgICBsZXQgY3VycmVudExpbmUgPSAiIjsNCiAgICAgICAgICAgIHdvcmRzLmZvckVhY2god29yZCA9PiB7DQogICAgICAgICAgICAgICAgaWYgKChjdXJyZW50TGluZSArIHdvcmQpLmxlbmd0aCA+IDE2KSB7DQogICAgICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goY3VycmVudExpbmUudHJpbSgpKTsNCiAgICAgICAgICAgICAgICAgICAgY3VycmVudExpbmUgPSB3b3JkICsgIiAiOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGN1cnJlbnRMaW5lICs9IHdvcmQgKyAiICI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBsaW5lcy5wdXNoKGN1cnJlbnRMaW5lLnRyaW0oKSk7DQogICAgICAgICAgICByZXR1cm4gbGluZXM7DQogICAgICAgIH07DQoNCiAgICAgICAgY29uc3QgY29tbW9uVG9vbHRpcCA9IHsNCiAgICAgICAgICAgIGNhbGxiYWNrczogew0KICAgICAgICAgICAgICAgIHRpdGxlOiBmdW5jdGlvbih0b29sdGlwSXRlbXMpIHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRvb2x0aXBJdGVtc1swXTsNCiAgICAgICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gaXRlbS5jaGFydC5kYXRhLmxhYmVsc1tpdGVtLmRhdGFJbmRleF07DQogICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxhYmVsKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsLmpvaW4oJyAnKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBjb25zdCBjdHhTZWN0b3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VjdG9yQ2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4U2VjdG9yLCB7DQogICAgICAgICAgICB0eXBlOiAnZG91Z2hudXQnLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogW3dyYXBMYWJlbCgn44Ko44ON44Or44Ku44O8JyksIHdyYXBMYWJlbCgn55Sj5qWt55So6YeR5bGeJyksIHdyYXBMYWJlbCgn6LK06YeR5bGeJyksIHdyYXBMYWJlbCgn6L6y55Sj54mpJyldLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMzAsIDE1LCAyMCwgMzVdLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsnIzBGMTcyQScsICcjM0I4MkY2JywgJyNGNTlFMEInLCAnIzEwQjk4MSddLA0KICAgICAgICAgICAgICAgICAgICBob3Zlck9mZnNldDogMTUsDQogICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAwDQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogew0KICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgcG9zaXRpb246ICdib3R0b20nIH0sDQogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6IGNvbW1vblRvb2x0aXANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGNvbnN0IGN0eEluZmxhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmZsYXRpb25DaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHhJbmZsYXRpb24sIHsNCiAgICAgICAgICAgIHR5cGU6ICdiYXInLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogW3dyYXBMYWJlbCgn44Kz44Oi44OH44Kj44OG44KjJyksIHdyYXBMYWJlbCgn57Gz5Zu95qCq5byPIChTJlA1MDApJyksIHdyYXBMYWJlbCgn44Kw44Ot44O844OQ44Or5YK15Yi4JyldLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+OCpOODs+ODleODrOaEn+W/nOW6piAo5L+C5pWwKScsDQogICAgICAgICAgICAgICAgICAgIGRhdGE6IFs4LjMsIDAuNSwgLTAuNF0sDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWycjRjU5RTBCJywgJyMzQjgyRjYnLCAnI0VGNDQ0NCddLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDgNCiAgICAgICAgICAgICAgICB9XQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsNCiAgICAgICAgICAgICAgICAgICAgeTogeyBiZWdpbkF0WmVybzogZmFsc2UsIGdyaWQ6IHsgY29sb3I6ICcjRTJFOEYwJyB9IH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsNCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0sDQogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6IGNvbW1vblRvb2x0aXANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGNvbnN0IGN0eENvcnIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29ycmVsYXRpb25DaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHhDb3JyLCB7DQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICBsYWJlbHM6IFt3cmFwTGFiZWwoJ+a1t+WkluagquW8jyAoTVNDSSknKSwgd3JhcExhYmVsKCflm73lhoXlgrXliLgnKSwgd3JhcExhYmVsKCfnsbPjg4njg6vmjIfmlbAnKSwgd3JhcExhYmVsKCfjgqTjg7Pjg5Xjg6zpgKPli5XlgrUnKV0sDQogICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn44Kz44Oi44OH44Kj44OG44Kj44Go44Gu55u46Zai5L+C5pWwJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzAuMzUsIC0wLjE1LCAtMC40NSwgMC42XSwNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBmdW5jdGlvbihjb250ZXh0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBjb250ZXh0LmRhdGFzZXQuZGF0YVtjb250ZXh0LmRhdGFJbmRleF07DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsID4gMCA/ICcjM0I4MkY2JyA6ICcjRUY0NDQ0JzsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1DQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgaW5kZXhBeGlzOiAneScsDQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogew0KICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwNCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogY29tbW9uVG9vbHRpcA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgY29uc3QgdHJhY2VDb250YW5nbyA9IHsNCiAgICAgICAgICAgIHg6IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyXSwNCiAgICAgICAgICAgIHk6IFs3MCwgNzIsIDc1LCA3NywgNzgsIDgwLCA4MSwgODIuNSwgODMuNSwgODQsIDg0LjUsIDg1XSwNCiAgICAgICAgICAgIG1vZGU6ICdsaW5lcyttYXJrZXJzJywNCiAgICAgICAgICAgIG5hbWU6ICfjgrPjg7Pjgr/jg7PjgrQgKOmAmuW4uOaZgiknLA0KICAgICAgICAgICAgbGluZTogeyBzaGFwZTogJ3NwbGluZScsIGNvbG9yOiAnI0VGNDQ0NCcsIHdpZHRoOiAzIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBjb25zdCB0cmFjZUJhY2t3YXJkYXRpb24gPSB7DQogICAgICAgICAgICB4OiBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMl0sDQogICAgICAgICAgICB5OiBbOTAsIDg4LCA4NSwgODMsIDgxLCA3OSwgNzgsIDc3LjUsIDc3LCA3Ni44LCA3Ni41LCA3Ni4zXSwNCiAgICAgICAgICAgIG1vZGU6ICdsaW5lcyttYXJrZXJzJywNCiAgICAgICAgICAgIG5hbWU6ICfjg5Djg4Pjgq/jg6/jg7zjg4fjg7zjgrfjg6fjg7MgKOe3iuaApeaZgiknLA0KICAgICAgICAgICAgbGluZTogeyBzaGFwZTogJ3NwbGluZScsIGNvbG9yOiAnIzEwQjk4MScsIHdpZHRoOiAzIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBjb25zdCBsYXlvdXQgPSB7DQogICAgICAgICAgICB0aXRsZTogeyB0ZXh0OiAn5YWI54mp5L6h5qC844Gu5pyf6ZaT5qeL6YCgICjjgqTjg7zjg6vjg4njgqvjg7zjg5YpJywgZm9udDogeyBmYW1pbHk6ICdOb3RvIFNhbnMgSlAnLCBzaXplOiAxOCB9IH0sDQogICAgICAgICAgICB4YXhpczogeyB0aXRsZTogJ+a6gOacn+OBvuOBp+OBruaciOaVsCAo5pyf6L+RIOKGkiDmnJ/lhYgpJywgZ3JpZGNvbG9yOiAnI0UyRThGMCcgfSwNCiAgICAgICAgICAgIHlheGlzOiB7IHRpdGxlOiAn5L6h5qC8IChVU0QpJywgZ3JpZGNvbG9yOiAnI0UyRThGMCcgfSwNCiAgICAgICAgICAgIHBhcGVyX2JnY29sb3I6ICdyZ2JhKDAsMCwwLDApJywNCiAgICAgICAgICAgIHBsb3RfYmdjb2xvcjogJ3JnYmEoMCwwLDAsMCknLA0KICAgICAgICAgICAgbGVnZW5kOiB7IG9yaWVudGF0aW9uOiAnaCcsIHk6IC0wLjIgfSwNCiAgICAgICAgICAgIG1hcmdpbjogeyBsOiA1MCwgcjogMjAsIHQ6IDUwLCBiOiA1MCB9DQogICAgICAgIH07DQoNCiAgICAgICAgUGxvdGx5Lm5ld1Bsb3QoJ2NvbnRhbmdvUGxvdCcsIFt0cmFjZUNvbnRhbmdvLCB0cmFjZUJhY2t3YXJkYXRpb25dLCBsYXlvdXQsIHsgcmVzcG9uc2l2ZTogdHJ1ZSwgZGlzcGxheU1vZGVCYXI6IGZhbHNlIH0pOw0KDQogICAgPC9zY3JpcHQ+DQo8c2NyaXB0Pg0KKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQoNCiAgICB2YXIgRlJBTUVfSUQgPSAiZnhjb21wLWh0bWwtZnJhbWUtNjE0ODM2NzAtOTYxYy00MGYwLWJiOGYtZjcwZTI2YjMzYzEwIjsNCiAgICB2YXIgdGltZXIgPSBudWxsOw0KDQogICAgZnVuY3Rpb24gZ2V0SGVpZ2h0KCkgew0KICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmJvZHk7DQogICAgICAgIHZhciBlID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ow0KDQogICAgICAgIGlmICghYiB8fCAhZSkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICAvKg0KICAgICAgICAgKiDph43opoE6DQogICAgICAgICAqIGNsaWVudEhlaWdodCAvIG9mZnNldEhlaWdodCDjga/nj77lnKjjga5pZnJhbWXpq5jjgZXjgpLmi77jgYTjgoTjgZnjgY/jgIENCiAgICAgICAgICog5LiA5bqm44K544Oe44Ob5bmF44Gn5aSn44GN44GP44Gq44Gj44Gf6auY44GV44GM5oi744KJ44Gq44GE5Y6f5Zug44Gr44Gq44KL44CCDQogICAgICAgICAqIOOBneOBruOBn+OCgeOAgeWun+OCs+ODs+ODhuODs+ODhOWvhOOCiuOBriBzY3JvbGxIZWlnaHQgLyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qg44KS5Lit5b+D44Gr5ris44KL44CCDQogICAgICAgICAqLw0KICAgICAgICB2YXIgYm9keVJlY3QgPSBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGhlaWdodDogMCB9Ow0KICAgICAgICB2YXIgaHRtbFJlY3QgPSBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGhlaWdodDogMCB9Ow0KDQogICAgICAgIHZhciBjYW5kaWRhdGVzID0gWw0KICAgICAgICAgICAgYi5zY3JvbGxIZWlnaHQgfHwgMCwNCiAgICAgICAgICAgIGUuc2Nyb2xsSGVpZ2h0IHx8IDAsDQogICAgICAgICAgICBNYXRoLmNlaWwoYm9keVJlY3QuaGVpZ2h0IHx8IDApLA0KICAgICAgICAgICAgTWF0aC5jZWlsKGh0bWxSZWN0LmhlaWdodCB8fCAwKQ0KICAgICAgICBdOw0KDQogICAgICAgIHZhciBoID0gMDsNCg0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbmRpZGF0ZXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChjYW5kaWRhdGVzW2ldID4gaCkgew0KICAgICAgICAgICAgICAgIGggPSBjYW5kaWRhdGVzW2ldOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGg7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2VuZEhlaWdodCgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBoID0gZ2V0SGVpZ2h0KCk7DQoNCiAgICAgICAgICAgIGlmIChoID4gMCAmJiB3aW5kb3cucGFyZW50KSB7DQogICAgICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJmeGNvbXAtaHRtbC1pZnJhbWUtaGVpZ2h0IiwNCiAgICAgICAgICAgICAgICAgICAgZnJhbWVJZDogRlJBTUVfSUQsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodDogaA0KICAgICAgICAgICAgICAgIH0sICIqIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2VuZEhlaWdodFNvb24oKSB7DQogICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7DQoNCiAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKSB7DQogICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2VuZEhlaWdodCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHNlbmRIZWlnaHQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgMzApOw0KICAgIH0NCg0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc2VuZEhlaWdodFNvb24pOw0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCBzZW5kSGVpZ2h0U29vbik7DQoNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICB2YXIgZGF0YSA9IGV2ZW50LmRhdGEgfHwge307DQoNCiAgICAgICAgaWYgKCFkYXRhIHx8IGRhdGEudHlwZSAhPT0gImZ4Y29tcC1odG1sLWlmcmFtZS1tZWFzdXJlIikgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGRhdGEuZnJhbWVJZCAhPT0gRlJBTUVfSUQpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIHNlbmRIZWlnaHRTb29uKCk7DQogICAgfSk7DQoNCiAgICBpZiAoIlJlc2l6ZU9ic2VydmVyIiBpbiB3aW5kb3cpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBybyA9IG5ldyBSZXNpemVPYnNlcnZlcihzZW5kSGVpZ2h0U29vbik7DQoNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHsNCiAgICAgICAgICAgICAgICByby5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5KSB7DQogICAgICAgICAgICAgICAgcm8ub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oc2VuZEhlaWdodFNvb24pOw0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIHZhciBjb3VudCA9IDA7DQogICAgdmFyIGludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgew0KICAgICAgICBzZW5kSGVpZ2h0U29vbigpOw0KICAgICAgICBjb3VudCArPSAxOw0KDQogICAgICAgIGlmIChjb3VudCA+IDIwKSB7DQogICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTsNCiAgICAgICAgfQ0KICAgIH0sIDUwMCk7DQoNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCA1MCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMzAwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAxMDAwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAyNTAwKTsNCn0pKCk7DQo8L3NjcmlwdD4KPC9ib2R5Pg0KPC9odG1sPg==</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-61483670-961c-40f0-bb8f-f70e26b33c10";
                var SOURCE_ID = "fxcomp-html-frame-61483670-961c-40f0-bb8f-f70e26b33c10-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div>
        
</p><p>The post <a href="https://fxcomp.net/commodity-2-1771">コモディティ投資の深層：実物資産の役割と実践的ポートフォリオ</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/commodity-2-1771/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2026年ビットコインの真の価値を徹底検証</title>
		<link>https://fxcomp.net/bitcoin-1762</link>
					<comments>https://fxcomp.net/bitcoin-1762#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Sun, 28 Jun 2026 13:48:21 +0000</pubDate>
				<category><![CDATA[考察]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1762</guid>

					<description><![CDATA[<p>  この記事でわかること ビットコインと金の市場規模差から見る成長余地 量子リスクとBIP-361に &#8230;</p>
<p>The post <a href="https://fxcomp.net/bitcoin-1762">2026年ビットコインの真の価値を徹底検証</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></description>
										<content:encoded><![CDATA[<article class="pa-article pa-theme--blue">
<div><a href="https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1767" src="https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2-1024x512.jpg" alt="" width="1024" height="512" srcset="https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2-1024x512.jpg 1024w, https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2-300x150.jpg 300w, https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2-768x384.jpg 768w, https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2-400x200.jpg 400w, https://fxcomp.net/wp-content/uploads/2026/06/ビットコインの価値検証2.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></div>
<div> </div>
<div class="fz-badge-title"><span style="background-color: #99ccff;"><strong>この記事でわかること</strong></span></div>
<div class="fz-box fz-box--blue">
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>ビットコインと金の市場規模差から見る成長余地</li>
	<li>量子リスクとBIP-361による資産凍結論争の実態</li>
	<li>機関投資家主導相場でのDCA戦略の優位性</li>
</ul>
</div>
<h2 class="fz-h-line">ビットコインと金の市場規模から読み取る現在地</h2>
<p>2026年中盤、ビットコインは実験的な投機商品から、グローバル金融システムに組み込まれた重要なインフラへと変貌を遂げています。その現在地を正確に把握するため、何千年もの歴史を持つ究極の価値保存手段である金（ゴールド）との比較から分析を始めます。時価総額、ボラティリティ、市場での役割という3つの軸で整理すると、ビットコインの「成長余地」と「リスクの実態」が鮮明に浮かび上がってきます。</p>
<div class="fz-table-wrap">
<table class="fz-table fz-table--striped">
<thead>
<tr>
<th>資産クラス</th>
<th>推定時価総額（2026年）</th>
<th>基準価格帯</th>
<th>年間ボラティリティ</th>
<th>市場での主要な役割</th>
</tr>
</thead>
<tbody>
<tr>
<td>金（ゴールド）</td>
<td>約28兆〜34兆ドル</td>
<td>$5,100〜$5,600/oz</td>
<td>15%〜20%</td>
<td>究極の安全資産・中央銀行準備資産</td>
</tr>
<tr>
<td>ビットコイン（BTC）</td>
<td>約1.18兆〜1.9兆ドル</td>
<td>$59,000〜$88,000</td>
<td>70%〜80%</td>
<td>デジタル価値保存・検閲耐性決済インフラ</td>
</tr>
<tr>
<td>イーサリアム（ETH）</td>
<td>約1,855億ドル</td>
<td>$1,500〜$1,710</td>
<td>高（BTC連動）</td>
<td>スマートコントラクト・DApps基盤</td>
</tr>
<tr>
<td>バイナンスコイン（BNB）</td>
<td>約749億ドル</td>
<td>$556付近</td>
<td>高（取引所依存）</td>
<td>取引所エコシステムのユーティリティトークン</td>
</tr>
</tbody>
</table>
</div>
<h3 class="fz-h-leftbar">この表から読み取れること</h3>
<div class="fz-box fz-box--blue">
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>金の時価総額はビットコインの約15〜28倍であり、仮にビットコインが金と同等の資産として認められた場合、理論的な評価額は<strong>1BTCあたり約266,000ドル</strong>と試算される</li>
	<li>ビットコインのボラティリティは金の約4倍に達しており、短期保有には相応のリスク管理が不可欠である</li>
	<li>暗号資産市場におけるビットコインのドミナンス（約55〜58%）は依然として圧倒的だが、前年の63%から低下傾向にある</li>
</ul>
</div>
<h3 class="fz-h-leftbar">結論・示唆</h3>
<p>この巨大な市場規模の差は、ビットコインに莫大な「アップサイド（成長余地）」が残されていることを示す一方で、ボラティリティの高さは短期投機の危険性を同時に示しています。2010年7月の約0.06ドルから2026年の価格帯への上昇は、累積リターンで<strong>約95万倍</strong>を超える驚異的な成長を記録しており、長期保有戦略の圧倒的な優位性を裏付ける最大の根拠となっています。</p>
<h2 class="fz-h-line">インフレ耐性の「神話」と「現実」を時間軸で検証する</h2>
<p>ビットコインは「2100万枚」という絶対的な発行上限により、法定通貨のインフレに対する防衛手段として広く認知されてきました。2024年4月の半減期でマイニング報酬は3.125BTCへと半減し、年間供給インフレ率はさらに低下しています。しかし2026年の市場データは、この「インフレヘッジ」ナラティブに重要な留保条件があることを明確に示しています。</p>
<div class="fz-point"><strong>検証結果：</strong>ビットコインは「長期的な法定通貨の希釈化」には強力に機能するが、「短期的な物価上昇局面」ではハイテク株と連動するリスク資産として売られる傾向が強い。</div>
<p>米国とイランの地政学的対立や関税政策への懸念が高まった2026年初頭、金は典型的な「安全資産」として64%以上の上昇を記録し、一時5,600ドルに迫るパフォーマンスを示しました。対照的に、ビットコインは地政学的ショック発生時に安全資産として買われるどころか、リスクオフの波に飲み込まれて大きく売られ、2億2,400万ドル以上のレバレッジポジションが清算される事態となりました。</p>
<h3 class="fz-h-leftbar">時間軸で変わるインフレ耐性の評価</h3>
<div class="fz-table-wrap">
<table class="fz-table fz-table--striped">
<thead>
<tr>
<th>評価期間</th>
<th>金の反応</th>
<th>ビットコインの反応</th>
<th>投資家行動の特徴</th>
</tr>
</thead>
<tbody>
<tr>
<td>危機発生後10日間</td>
<td>+4%前後の上昇</td>
<td>ほぼ横ばいまたは下落</td>
<td>金が安全資産として機能</td>
</tr>
<tr>
<td>危機発生後60日間</td>
<td>+6%前後</td>
<td>+23%前後（アウトパフォーム）</td>
<td>ビットコインが金を大幅に上回る</td>
</tr>
<tr>
<td>10年単位の長期</td>
<td>安定した購買力保護</td>
<td>圧倒的な購買力の成長</td>
<td>時間軸が長いほどBTCが有利</td>
</tr>
</tbody>
</table>
</div>
<h3 class="fz-h-leftbar">この表から読み取れること</h3>
<div class="fz-box fz-box--blue">
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>短期では金が真の安全資産として機能し、ビットコインはリスク資産として振る舞う</li>
	<li>中長期では立場が逆転し、ビットコインが金を大幅に上回るリターンを生み出す</li>
	<li>評価する時間軸の設定こそが、ビットコインのインフレ耐性を正しく理解するための核心である</li>
</ul>
</div>
<h3 class="fz-h-leftbar">結論・示唆</h3>
<p>ビットコインは「短期のインフレ保険」ではなく、「法定通貨システムへの長期的なオプトアウト手段」として捉えるべきです。米国の連邦債務が36兆ドルを超え、高金利維持が数学的に困難になりつつある現状は、この長期的な価値保存の論拠をむしろ強化しています。</p>
<h2 class="fz-h-line">量子コンピュータとBIP-361論争：ネットワーク存亡の危機</h2>
<p>ビットコインの将来価値を根底から脅かす最大の技術的リスクが、量子コンピューティングの脅威です。これまで数十年先の話とされていた「Q-Day（量子コンピュータがビットコインの暗号を破る日）」が、現実的なタイムラインに乗り始めています。<br />
Googleの2026年ホワイトペーパーによれば、エラー訂正を備えた約1,200〜1,450の論理量子ビットと物理量子ビット約50万個規模のマシンがあれば、Shorのアルゴリズムで<strong>256ビット楕円曲線離散対数問題を数分で解読</strong>できる可能性が示されました。米国政府も2026年6月に連邦機関へ2030年末までの耐量子暗号（PQC）移行を義務付ける大統領令に署名しています。</p>
<div class="fz-alert">Coinbaseの推定では、現在約700万BTC（約4,400億ドル相当）が量子攻撃に脆弱な旧アドレス形式に存在します。サトシ・ナカモトの初期マイニング分とされる約110万BTCもこれに含まれます。</div>
<p>この危機に対応するため、2026年4月にJameson Lopp氏らが<strong>BIP-361</strong>の草案を公開しました。この提案は3段階の強制移行を定めており、コミュニティを真っ二つに割る論争となっています。</p>
<div class="fz-two">
<div class="fz-card">
<div class="fz-card-title">BIP-361 賛成派の論拠</div>
<p>量子攻撃による資産強奪と市場崩壊を防ぐ防衛措置として不可欠。凍結により実質供給量が減少し、移行済みコインの希少価値が高まるという経済的メリットもある。</p>
</div>
<div class="fz-card">
<div class="fz-card-title">BIP-361 反対派の論拠</div>
<p>Charles Hoskinson氏らは「強権的なハードフォーク」と批判。秘密鍵保有者が資金をコントロールできるというビットコインの絶対的な財産権・検閲耐性を根本から侵害すると主張。</p>
</div>
</div>
<h3 class="fz-h-leftbar">重要なポイント</h3>
<p>技術的な欠陥として、2009〜2012年頃の初期ビットコインはBIP-39（シードフレーズ）導入前のローカルキープールで生成されているため、フェーズCのゼロ知識証明による救済メカニズムを利用できません。サトシのコインを含む初期の休眠資産は、BIP-361が成立した場合、問答無用で<strong>永久凍結</strong>される運命にあります。「セキュリティの確保」と「絶対的な財産権の保護」という二つの価値観の衝突は、ビットコイン史上最大の哲学的葛藤として現在も未解決のまま残されています。</p>
<h2 class="fz-h-line">ETF資金フローとDCA戦略の圧倒的優位性</h2>
<p>2024年に承認された現物ビットコインETFは、市場の資金構造を不可逆的に変化させました。2026年の市場は、投機的な個人投資家から厳格なリスク管理を行う機関投資家へと主導権が移行しています。<br />
2026年第1四半期には月間約13.2億ドルの純流入を記録し、ETF全体のAUMは約875億ドルに達しました。しかし5月〜6月のインフレ指標高止まりとFRBの利下げ期待後退により、13営業日連続で累計約44億ドル、30日間では<strong>約63.5億ドル</strong>という歴史的規模の資金流出が発生し、ビットコイン価格を一時59,000ドル付近まで押し下げました。</p>
<h3 class="fz-h-leftbar">DCAが最強戦略である決定的な根拠</h3>
<p>David Eng氏の2020〜2025年分析によれば、ビットコインを継続保有した場合の年間リターン中央値は<strong>約+90%</strong>でした。しかし投資家が価格変動にパニックを起こし、「年間で最も価格が上昇したベスト10日間」の市場参加を逃した場合、リターンは<strong>−25%の損失</strong>へと劇的に悪化しました。</p>
<div class="fz-table-wrap">
<table class="fz-table fz-table--striped">
<thead>
<tr>
<th>投資手法</th>
<th>長期リターンの特徴</th>
<th>市場急変時のリスク</th>
</tr>
</thead>
<tbody>
<tr>
<td>マーケットタイミング</td>
<td>ベスト10日間を逃すと+90%が-25%に転落</td>
<td>感情的な売買で最悪のタイミングで損失確定</td>
</tr>
<tr>
<td>ドルコスト平均法（DCA）</td>
<td>価格水準に関わらず安定したプラスリターン</td>
<td>高ボラティリティを味方につける</td>
</tr>
</tbody>
</table>
</div>
<h3 class="fz-h-leftbar">この表から読み取れること</h3>
<div class="fz-box fz-box--blue">
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>ビットコインの利益の大部分は、年間を通じた「特定の数日間の爆発的な急騰」によってもたらされる</li>
	<li>底値を予測しようとするマーケットタイミングは、この急騰を逃すリスクが極めて高い</li>
	<li>価格が126,000ドルでも59,000ドルでも、感情を排除して一定額を購入し続けるDCA戦略が最も堅実</li>
</ul>
</div>
<h3 class="fz-h-leftbar">結論・示唆</h3>
<div class="fz-point"><strong>ポイント：</strong>保守的なポートフォリオなら総資産の1〜3%、バランス型で3〜8%、積極的な成長志向で10〜15%をビットコインのDCA積立に割り当てるのが2026年の標準的なアロケーションモデルとされています。</div>
<h2 class="fz-h-line">2026年以降の価格展望と半減期サイクル分析</h2>
<p>現在の大幅な価格調整（最高値126,000ドルから最大約50%下落）を経て、多くの投資家が注目するのは「再び最高値を更新できるか」という問いです。過去の半減期サイクル（2012年・2016年・2020年）を分析すると、半減期から12〜18ヶ月後にピークを迎え、その後60〜80%下落する調整期間に入るというパターンが繰り返されてきました。</p>
<div class="fz-table-wrap">
<table class="fz-table fz-table--striped">
<thead>
<tr>
<th>機関・予測モデル</th>
<th>予測価格帯</th>
<th>主な根拠・シナリオ</th>
</tr>
</thead>
<tbody>
<tr>
<td>CoinCodex（アルゴリズム）</td>
<td>平均$83,218</td>
<td>テクニカル指標に基づく2026年内の推移</td>
</tr>
<tr>
<td>VanEck</td>
<td>過去最高値更新</td>
<td>中央銀行の準備資産採用・デジタルゴールド需要</td>
</tr>
<tr>
<td>Changelly</td>
<td>約$118,000</td>
<td>半減期後のマクロ的追い風（金利低下）</td>
</tr>
<tr>
<td>Binanceリサーチ</td>
<td>約$138,000（〜2030年）</td>
<td>機関投資家参入と決済インフラ普及</td>
</tr>
<tr>
<td>フィボナッチ・エクステンション</td>
<td>$145,000〜$155,000</td>
<td>2024年安値からの1.618倍拡張</td>
</tr>
</tbody>
</table>
</div>
<h3 class="fz-h-leftbar">この表から読み取れること</h3>
<div class="fz-box fz-box--blue">
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>予測レンジは$83,218〜$155,000と約2倍の開きがあり、マクロ環境次第で結果が大きく分岐する</li>
	<li>ベースケースでは2026年後半の利下げ転換を契機に70,000〜100,000ドルのレンジを固め、2027年に100,000ドル突破を目指す道筋が最有力</li>
	<li>テクニカル面では69,000〜72,000ドルが強固なサポート、50,000〜58,000ドルが「絶対防衛線」として機能</li>
</ul>
</div>
<h3 class="fz-h-leftbar">結論・示唆</h3>
<p>2026年中盤の市場はピークから約8〜9ヶ月が経過した「蓄積期の終盤」に位置しており、過去のタイムラインに従えば2026年第3〜4四半期にかけて最終的な底打ちを果たし、2027年に向けた回復シナリオが統計的に最も有力です。</p>
<details class="fz-faq">
<summary>ビットコインは本当に「デジタルゴールド」なのか？</summary>
<div class="fz-faq-body">2026年の市場データは、ビットコインが地政学的危機の際に安全資産として買われるのではなく、リスクオフで売られる「ハイベータ資産」であることを示しています。金が「夜安心して眠るためのバンカー資産」であるのに対し、ビットコインは「大きなドローダウンを受け入れる代わりに非対称なリターンを狙うコールオプション」として機能します。両者は代替関係ではなく、ポートフォリオ内で全く異なる役割を担う補完的な資産と理解するのが正確です。</div>
</details>
<hr class="fz-divider" />
<h2 class="fz-h-line">まとめ</h2>
<div class="fz-box fz-box--blue">
<p style="margin: 0 0 .6em;">2026年のビットコインは、量子リスク・規制環境・エネルギー競争という構造的課題を抱えながらも、10年以上にわたってシステムを停止させることなく稼働し続ける「強靭性（アンチフラジリティ）」こそが本質的な価値の根拠です。短期的なボラティリティに翻弄されず、DCAによる規律ある継続投資を実践することが、この資産クラスの非対称なリターンを享受するための最も実証された戦略と言えます。</p>
<ul class="fz-notouch" style="margin: 0; padding-left: 1.4em;">
	<li>ビットコインと金の市場規模差から見るとまだ成長余地は十分にありそうです。</li>
	<li>量子リスクとBIP-361による資産凍結論争の実態が不透明なため上がりにくい要素を抱えています。</li>
	<li>機関投資家主導相場のため、コツコツと積み立てるDCA戦略が良いと考えられます。</li>
</ul>
</div>
</article><p>The post <a href="https://fxcomp.net/bitcoin-1762">2026年ビットコインの真の価値を徹底検証</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/bitcoin-1762/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>トラップリピート最適幅・利益率分析</title>
		<link>https://fxcomp.net/trap-1757</link>
					<comments>https://fxcomp.net/trap-1757#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Thu, 25 Jun 2026 13:32:53 +0000</pubDate>
				<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1757</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-22e41702-5f4f-4d6d-8709-b61596692818"
                class="fxcomp-html-iframe"
                title="トラップリピート最適幅・利益率分析"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-22e41702-5f4f-4d6d-8709-b61596692818-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT7jg4jjg6njg4Pjg5fjg6rjg5Tjg7zjg4jmnIDpganluYXjg7vliKnnm4rnjofliIbmnpDjgqTjg7Pjg5XjgqnjgrDjg6njg5XjgqPjg4Pjgq88L3RpdGxlPg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4ucGxvdC5seS9wbG90bHktMi4yNC4xLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHN0eWxlPg0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZmYW1pbHk9Tm90bytTYW5zK0pQOndnaHRAMzAwOzQwMDs3MDAmZGlzcGxheT1zd2FwJyk7DQogICAgICAgIA0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCAnTm90byBTYW5zIEpQJywgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7DQogICAgICAgICAgICBjb2xvcjogIzBmMTcyYTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5jaGFydC1jb250YWluZXIgew0KICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4Ow0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgICAgICAgICBoZWlnaHQ6IDM1MHB4Ow0KICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAuZ3JhZGllbnQtYmcgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwMTcxZiAwJSwgIzAwMzQ1OSAxMDAlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5jYXJkIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMDUpOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7DQogICAgICAgIH0NCg0KICAgICAgICAuY2FyZDpob3ZlciB7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7DQogICAgICAgIH0NCg0KICAgICAgICAuc3RhdC1jYXJkIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDdlYTcgMCUsICMwMGE4ZTggMTAwJSk7DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgIH0NCg0KICAgICAgICAuaGlnaGxpZ2h0LXRleHQgew0KICAgICAgICAgICAgY29sb3I6ICMwMGE4ZTg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICB9DQoNCiAgICAgICAgLyogDQogICAgICAgIFNlbGVjdGVkIENvbG9yIFBhbGV0dGU6IEJyaWxsaWFudCBCbHVlcw0KICAgICAgICAtIERlZXAgTmF2eTogIzAwMTcxRg0KICAgICAgICAtIE1pZCBCbHVlOiAjMDAzNDU5DQogICAgICAgIC0gQmFzZSBCbHVlOiAjMDA3RUE3DQogICAgICAgIC0gQ3lhbjogIzAwQThFOA0KICAgICAgICAtIFdoaXRlOiAjRkZGRkZGDQogICAgICAgICovDQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJwLTQgbWQ6cC04Ij4NCg0KICAgIDwhLS0gDQogICAgTk8gU1ZHIEFORCBOTyBNRVJNQUlEIEpTIFVTRUQuDQogICAgRGlhZ3JhbXMgaW1wbGVtZW50ZWQgd2l0aCBUYWlsd2luZCBDU1MgYW5kIENoYXJ0cyB2aWEgQ2FudmFzLg0KICAgIC0tPg0KDQogICAgPCEtLSANCiAgICBOQVJSQVRJVkUgUExBTjoNCiAgICAxLiBJbnRyb2R1Y3Rpb246IEV4cGxhaW5pbmcgdGhlICJBc3ltbWV0cmljIFJpc2siIG9mIHJlcGVhdCBzeXN0ZW1zLg0KICAgIDIuIFRoZSBNYXRoIG9mIFJ1aW46IFZpc3VhbGl6aW5nIGhvdyAyeCB0cmFwIGRlbnNpdHkgbGVhZHMgdG8gNHggbG9zcy4NCiAgICAzLiBYQVVVU0QgRGVlcCBEaXZlOiBDYXNlIHN0dWR5IG9mIHRoZSA1NjAwIC0+IDQwMDAgY3Jhc2ggc2NlbmFyaW8uDQogICAgNC4gTXVsdGktUGFpciBDb21wYXJpc29uOiBPcHRpbWFsIHdpZHRoIHJhbmtpbmcgZm9yIEVVUlVTRCwgVVNESlBZLCBBVUROWkQuDQogICAgNS4gVGhlIEdvbGRlbiBSYXRpbzogIlRyYXAgV2lkdGggPD0gUHJvZml0IFdpZHRoIiBsb2dpYyB1c2luZyBBVFIuDQogICAgNi4gU3RyYXRlZ2ljIENoZWNrbGlzdDogU3Vydml2YWwgdGlwcyBmb3IgcHJvZmVzc2lvbmFsIG9wZXJhdGlvbi4NCiAgICAtLT4NCg0KICAgIDwhLS0gDQogICAgVklTVUFMSVpBVElPTiBKVVNUSUZJQ0FUSU9OOg0KICAgIC0gWEFVVVNEIFJpc2s6IEJhciBDaGFydCAoQ2hhcnQuanMpIHRvIGNvbXBhcmUgZGlzY3JldGUgcmlzayB0aWVycyAoJDUgdG8gJDEwMCkuDQogICAgLSBMb3NzIEN1cnZlOiBMaW5lIENoYXJ0IChDaGFydC5qcykgdG8gc2hvdyB0aGUgcXVhZHJhdGljIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGRlbnNpdHkgYW5kIGRyYXdkb3duLg0KICAgIC0gQ3VycmVuY3kgQ29tcGFyaXNvbjogSG9yaXpvbnRhbCBCYXIgKENoYXJ0LmpzKSBmb3IgZWFzeSByYW5raW5nIG9mICJPcHRpbWFsIFdpZHRocyIuDQogICAgLSBHb2xkZW4gUmF0aW86IFN0eWxlZCBIVE1ML0NTUyBjYXJkcyBmb3IgcHJvY2VzcyBleHBsYW5hdGlvbi4NCiAgICAtIEFVRE5aRCBEaWFtb25kOiBTdHlsZWQgZ3JpZCByZXByZXNlbnRpbmcgdGhlIHJhbmdlIHN0cnVjdHVyZS4NCiAgICAtLT4NCg0KICAgIDxkaXYgY2xhc3M9Im1heC13LTZ4bCBteC1hdXRvIj4NCiAgICAgICAgDQogICAgICAgIDwhLS0gSGVhZGVyIC0tPg0KICAgICAgICA8aGVhZGVyIGNsYXNzPSJncmFkaWVudC1iZyB0ZXh0LXdoaXRlIHAtOCByb3VuZGVkLTJ4bCBtYi04IHNoYWRvdy0yeGwiPg0KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LTN4bCBtZDp0ZXh0LTV4bCBmb250LWJvbGQgbWItNCI+44Oq44OU44O844OI57O76Ieq5YuV5aOy6LK377ya5pyA6YGp5bmF44Gu56eR5a2mPC9oMT4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWxnIG9wYWNpdHktOTAgbGVhZGluZy1yZWxheGVkIG1heC13LTN4bCI+DQogICAgICAgICAgICAgICAg6auY5Yud546H44O75a6J5a6a5Y+O55uK44Gu6KOP44Gr6Zqg44GV44KM44Gf44CM6Z2e5a++56ew44Gq44Oq44K544Kv44CN44CC6YCa6LKo44Oa44Ki44GU44Go44Gu44Oc44Op44OG44Kj44Oq44OG44Kj44Go5pWw5a2m55qE6ZmQ55WM44GL44KJ44CB56C057a744KS6YG/44GR44Gk44Gk5Yip55uK44KS5pyA5aSn5YyW44GZ44KL44CM55Sf5a2Y44Gu44Gf44KB44Gu6Kit5a6a5YCk44CN44KS5bCO44GN5Ye644GX44G+44GZ44CCDQogICAgICAgICAgICA8L3A+DQogICAgICAgIDwvaGVhZGVyPg0KDQogICAgICAgIDwhLS0gS1BJIEdyaWQgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTYgbWItOCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtNiBzdGF0LWNhcmQgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXNtIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciBtYi0yIGZvbnQtc2VtaWJvbGQiPlN1cnZpdmFsIEdvYWw8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtNHhsIGZvbnQtYm9sZCI+MTAwJTwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibXQtMiB0ZXh0LXhzIG9wYWNpdHktODAiPuODnuOCr+ODreODiOODrOODs+ODieOBp+OBrumAgOWgtOWbnumBvzwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwLTYgYm9yZGVyLWwtNCBib3JkZXItWyMwMGE4ZThdIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIiPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZ3JheS01MDAgbWItMSI+WEFVVVNEIE9wdGltYWwgV2lkdGg8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LVsjMDAzNDU5XSI+JDUwIC0gJDEwMDwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC14cyB0ZXh0LWdyYXktNDAwIG10LTIiPjEsNjAw44OJ44Or44Gu5pq06JC944Gr6ICQ44GI44KL44Gf44KB44Gu5Z+65rqWPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtNiBib3JkZXItbC00IGJvcmRlci1bIzAwYThlOF0gZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTUwMCBtYi0xIj5TdGFuZGFyZCBQYWlycyBXaWR0aDwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtWyMwMDM0NTldIj41MCBwaXBzPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JheS00MDAgbXQtMiI+VVNESlBZIC8gRVVSVVNEIOOBruWPjuebiuODu+ODquOCueOCr+Wdh+ihoeeCuTwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8IS0tIFNlY3Rpb24gMTogVGhlIE1hdGggb2YgUnVpbiAtLT4NCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im1iLTEyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlIHAtOCByb3VuZGVkLTJ4bCBzaGFkb3ctbWQiPg0KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTQgZmxleCBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idy0yIGgtOCBiZy1bIzAwYThlOF0gbXItMyI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICDjgIzliKnnm4oy5YCN44CN44Gu5Luj5YSf77ya5ZCr44G/5pCN44Gu5LqM5qyh6Zai5pWw55qE6Iao5by1DQogICAgICAgICAgICAgICAgPC9oMj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1ncmF5LTYwMCBtYi04IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOWkmuOBj+OBruaKleizh+WutuOBjOmZpeOCi+e9oOOBr+OAgeWIqeebiumgu+W6puOCkuS4iuOBkuOCi+OBn+OCgeOBq+ODiOODqeODg+ODl+W5heOCkuWNiuWIhuOBq+OBmeOCi+OBk+OBqOOBp+OBmeOAguOBl+OBi+OBl+OAgeaVsOeQhuODouODh+ODq+OBjOekuuOBmeS6i+Wun+OBr+aui+mFt+OBp+OBmeOAgg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGlnaGxpZ2h0LXRleHQiPuODiOODqeODg+ODl+W5heOCkjEvMuOBq+OBmeOCi+OBqOOAgeWQq+OBv+aQjeOBrue3j+mhjeOBr+e0hDTlgI3jgavot7Pjga3kuIrjgYzjgorjgb7jgZnjgII8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIOOBk+OBrumdnuWvvuensOOBquODquOCueOCr+ani+mAoOOBjOOAgeWDheOBi+OBquODiOODrOODs+ODieeZuueUn+OBp+OBruWPo+W6p+egtOe2u+OCkuW8leOBjei1t+OBk+OBl+OBvuOBmeOAgg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJydWluQ3VydmVDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtNiB0ZXh0LWNlbnRlciB0ZXh0LXNtIHRleHQtZ3JheS01MDAgaXRhbGljIj4NCiAgICAgICAgICAgICAgICAgICAg4oC744OI44Op44OD44OX5a+G5bqm44Go5pyA5aSn5ZCr44G/5pCN44Gu6Zai5L+C44CC5a+G5bqm44GM5LiK44GM44KL44Go44Oq44K544Kv44Gv5Yqg6YCf55qE44Gr5aKX5aSn44GZ44KL44CCDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0gU2VjdGlvbiAyOiBYQVVVU0QgRGVlcCBEaXZlIC0tPg0KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ibWItMTIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtOCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwLTgiPg0KICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCBtYi00Ij5YQVVVU0Q6IDEsNjAw44OJ44Or44Gu5pq06JC944K344OK44Oq44KqPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZ3JheS02MDAgbWItNiB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICDlj7LkuIrmnIDpq5jlgKQ1LDYwMOODieODq+OBi+OCiTQsMDAw44OJ44Or44G444Gu5oCl6JC944KS5oOz5a6a44GX44Gf44K544OI44Os44K544OG44K544OI44CCDQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9udC1ib2xkIHRleHQtcmVkLTUwMCI+NeODieODq+OAnDEw44OJ44Or44Gu54ut44GE5bmFPC9zcGFuPuOBr+ODrOODs+OCuOWGheOBp+OBr+iOq+Wkp+OBquWIqeebiuOCkueUn+OBv+OBvuOBmeOBjOOAgeOBk+OBruaatOiQveOBjOi1t+OBjeOBn+eerOmWk+OBq+aVsOWNg+S4h+WNmOS9jeOBruWQq+OBv+aQjeOCkuaKseOBiOOAgQ0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhpZ2hsaWdodC10ZXh0Ij4xMDAl56C057a7PC9zcGFuPuOBl+OBvuOBmeOAgueUn+WtmOOBq+W/heimgeOBquOBruOBr+OAgeaXpeOAheOBruODjuOCpOOCuuOCkueEoeimluOBmeOCi+OAjOW6g+OBleOAjeOBp+OBmeOAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJ4YXV1c2RSaXNrQ2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtOCI+DQogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTYiPuOCtOODvOODq+ODiemBi+eUqOOBrueUn+WtmOaIpueVpTwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1bIzAwMzQ1OV0gdGV4dC13aGl0ZSByb3VuZGVkLWZ1bGwgdy04IGgtOCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaHJpbmstMCBtdC0xIGZvbnQtYm9sZCI+MTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LVsjMDAzNDU5XSI+44OI44Op44OD44OX5bmF44GvMTAw44OJ44Or44KS5Z+65rqW44GrPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTUwMCI+MSw2MDDjg4njg6vjga7lpInli5XjgafjgoLlkKvjgb/mkI3jgpIxLjPkuIfjg4njg6vnqIvluqbjgavmipHjgYjjgIHoh7Tlkb3lgrfjgpLlm57pgb/jgZfjgb7jgZnjgII8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtc3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLVsjMDAzNDU5XSB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNocmluay0wIG10LTEgZm9udC1ib2xkIj4yPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1ib2xkIHRleHQtWyMwMDM0NTldIj7mnIDkvY7jg63jg4Pjg4jvvIgwLjAx77yJ44Gr6ZmQ5a6aPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTUwMCI+44Oc44Op44OG44Kj44Oq44OG44Kj44GM5LuW6YCa6LKo44Gu5q+U44Gn44Gv44Gq44GE44Gf44KB44CB6LOH6YeR5Yq5546H44Gn44Gv44Gq44GP44CM57aZ57aa44CN44KS5pyA5YSq5YWI44GX44G+44GZ44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLXN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1bIzAwMzQ1OV0gdGV4dC13aGl0ZSByb3VuZGVkLWZ1bGwgdy04IGgtOCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaHJpbmstMCBtdC0xIGZvbnQtYm9sZCI+MzwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LVsjMDAzNDU5XSI+5Yip55uK5YCk5bmF44KS5aSn44GN44GP5Y+W44KLPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTUwMCI+NTDjg4njg6vjgJwxMDDjg4njg6vjga7liKnnm4rluYXjgafjgIHmlbDpgLHplpPjgavkuIDluqbjga7lpKfjgY3jgarmsbrmuIjjgpLlvoXjgaTjgrnjgqTjg7PjgrDpgYvnlKjjgYzmnIDpganjgafjgZnjgII8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0gU2VjdGlvbiAzOiBQYWlyIEFuYWx5c2lzIENvbXBhcmlzb24gLS0+DQogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtYi0xMiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZSBwLTggcm91bmRlZC0yeGwgc2hhZG93LW1kIj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCBtYi00Ij7pgJrosqjjg5rjgqLliKXvvJrjg6rjgrnjgq/jg7vliKnnm4rjga7jgrnjgqTjg7zjg4jjgrnjg53jg4Pjg4g8L2gyPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWdyYXktNjAwIG1iLTgiPg0KICAgICAgICAgICAgICAgICAgICDlkITpgJrosqjjg5rjgqLjga7nibnmgKfjgavlkIjjgo/jgZvjgZ/jgIzmnIDpganluYXvvIhwaXBz77yJ44CN44Gu5q+U6LyD44Gn44GZ44CCQVVETlpE44Gv44Os44Oz44K45Zue5biw5oCn44GM6auY44GP54ut44GP5pS744KB44KJ44KM44G+44GZ44GM44CBVVNESlBZ44KERVVSVVNE44Gv44Oe44Kv44Ot44OI44Os44Oz44OJ44KS6ICD5oWu44GXNTBwaXBz5Lul5LiK44KS56K65L+d44GZ44KL44Gu44GM6YmE5YmH44Gn44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciAhbWF4LXctNHhsIj4NCiAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0icGFpckNvbXBhcmlzb25DaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0gU2VjdGlvbiA0OiBHb2xkZW4gUmF0aW8gU3RyYXRlZ3kgLS0+DQogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtYi0xMiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGdhcC04Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtOCBiZy1bIzAwMTcxZl0gdGV4dC13aGl0ZSI+DQogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTYgdGV4dC1bIzAwYThlOF0iPuWIqeebiueOh+OCkuacgOWkp+WMluOBmeOCi+OAjOm7hOmHkeavlOOAjTwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctWyMwMDM0NTldIHJvdW5kZWQtbGciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayB0ZXh0LXhzIHVwcGVyY2FzZSBvcGFjaXR5LTcwIG1iLTEiPlJ1bGUgMDE8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteGwgZm9udC1zZW1pYm9sZCI+44OI44Op44OD44OX5bmFIOKJpiDliKnnm4rlgKTluYU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gb3BhY2l0eS04MCBtdC0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5Yip55uK5YCk5bmF44GM44OI44Op44OD44OX5bmF44KI44KK54ut44GE44Go44CB55u45aC044GM5YuV44GE44Gm44KC5L2V44KC6LW344GN44Gq44GE44CM56m655m95Zyw5biv44CN44GM55Sf44G+44KM44CB6LOH6YeR5Yq5546H44GM6JGX44GX44GP5L2O5LiL44GX44G+44GZ44CCDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYmctWyMwMDM0NTldIHJvdW5kZWQtbGciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayB0ZXh0LXhzIHVwcGVyY2FzZSBvcGFjaXR5LTcwIG1iLTEiPlJ1bGUgMDI8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteGwgZm9udC1zZW1pYm9sZCI+5Yip55uK5YCk5bmFID0g5pel6LazQVRSIMO3IDI8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gb3BhY2l0eS04MCBtdC0yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg57Wx6KiI55qE44Gr44CMMeaXpeOBq+e0hDHlm57jga7msbrmuIjjgI3jgYznmbrnlJ/jgZnjgovlgKTluYXjgafjgZnjgILjgZPjgozjgpLjg5njg7zjgrnjgavjg4jjg6njg4Pjg5fluYXjgpLoqK3lrprjgZnjgovjga7jgYznj77ku6Pjga7mnIDpganop6PjgafjgZnjgIINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPCEtLSBEaWFtb25kIFN0cmF0ZWd5IFZpc3VhbGl6ZXIgKEhUTUwvQ1NTKSAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHAtOCI+DQogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTQgdGV4dC1bIzAwMzQ1OV0iPkFVRE5aRDog44OA44Kk44Ok44Oi44Oz44OJ5oim55WlPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTUwMCBtYi02Ij7jg6zjg7PjgrjkuK3lpK7jgavljprjgY/jgIHkuIrkuIvnq6/jgavoloTjgY/phY3nva7jgILos4fph5HlirnnjofjgajlronlhajmgKfjgpLkuKHnq4vjgZnjgovnqbbmpbXjga7jgrDjg6rjg4Pjg4nmp4vmiJDjgII8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctZnVsbCBoLTQ4IGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIGJnLXJlZC01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXJlZC02MDAgdGV4dC14cyBmb250LWJvbGQgYm9yZGVyLWIgYm9yZGVyLXJlZC0xMDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwcGVyIFJhbmdlOiBTZWxsIE9ubHkgKFNwYXJzZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIGJnLWJsdWUtMTAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtYmx1ZS03MDAgdGV4dC1zbSBmb250LWJvbGQgYm9yZGVyLWIgYm9yZGVyLWJsdWUtMjAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDZW50ZXIgQ29yZTogSGlnaCBEZW5zaXR5IFRyYXANCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIGJnLWJsdWUtNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1ibHVlLTYwMCB0ZXh0LXhzIGZvbnQtYm9sZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG93ZXIgUmFuZ2U6IEJ1eSBPbmx5IChTcGFyc2UpDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTQgdGV4dC14cyB0ZXh0LWdyYXktNDAwIHRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIOKAu+S4reWkruWApOS7mOi/keOBp+axuua4iOmgu+W6puOCkuacgOWkp+WMluOBl+OAgeODrOODs+OCuOmAuOiEseaZguOBruWQq+OBv+aQjeOCkuaKkeWItuOAgg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPCEtLSBGaW5hbCBDaGVja2xpc3QgLS0+DQogICAgICAgIDxmb290ZXIgY2xhc3M9ImJnLXdoaXRlIHAtOCByb3VuZGVkLTJ4bCBzaGFkb3ctaW5uZXIgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCBtYi0xMiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC04Ij4NCiAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LVsjMDAzNDU5XSBtYi0yIj7noLTntrvjg5Hjgr/jg7zjg7PvvIhBdm9pZO+8iTwvaDQ+DQogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idGV4dC1zbSB0ZXh0LXJlZC02MDAgc3BhY2UteS0xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7jg7sxMHBpcHPku6XkuIvjga7mpbXlsI/luYXoqK3lrpo8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPuODu+ODieODreODvOODgOOCpuODszLlgI3jga7kvZnlibDos4fph5HmrKDlpoI8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPuODu+ODnuOCr+ODreODiOODrOODs+ODieOBuOOBruebsuebrueahOOBqumAhuW8teOCijwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgdGV4dC1bIzAwMzQ1OV0gbWItMiI+5pyA6YGp6Kit5a6a77yIQmVzdCBQcmFjdGljZe+8iTwvaDQ+DQogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idGV4dC1zbSB0ZXh0LWJsdWUtNjAwIHNwYWNlLXktMSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+44O75Li76KaB44Oa44Ki44GvNTBwaXBz5bmF44KS5Z+65rqWPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7jg7vliKnnm4rlgKTluYUg4omnIOODiOODqeODg+ODl+W5heOBrue2reaMgTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+44O7QVVETlpE44G444GuMjAw5LiH5YaG44OQ44OD44OV44Kh6YGL55SoPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LVsjMDAzNDU5XSBtYi0yIj7jgqTjg7Pjg5Xjg6nopoHku7Y8L2g0Pg0KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRleHQtc20gdGV4dC1ncmF5LTUwMCBzcGFjZS15LTEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPuODuzI05pmC6ZaT56i85YON44GuVlBT5bCO5YWl5b+F6aCIPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7jg7vjgrnjg5fjg6zjg4Pjg4nogJDmgKfjga7pq5jjgYTlj6Pluqfpgbjlrpo8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPuODuzEw5bm05Lul5LiK44Gu44OQ44OD44Kv44OG44K544OI5a6f5pa9PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Zvb3Rlcj4NCg0KICAgIDwvZGl2Pg0KDQogICAgPHNjcmlwdD4NCiAgICAgICAgLy8gTGFiZWwgd3JhcHBpbmcgdXRpbGl0eQ0KICAgICAgICBmdW5jdGlvbiB3cmFwTGFiZWwobGFiZWwpIHsNCiAgICAgICAgICAgIGlmICh0eXBlb2YgbGFiZWwgIT09ICdzdHJpbmcnKSByZXR1cm4gbGFiZWw7DQogICAgICAgICAgICBpZiAobGFiZWwubGVuZ3RoIDw9IDE2KSByZXR1cm4gbGFiZWw7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gbGFiZWwuc3BsaXQoJyAnKTsNCiAgICAgICAgICAgIGNvbnN0IGxpbmVzID0gW107DQogICAgICAgICAgICBsZXQgY3VycmVudExpbmUgPSAiIjsNCg0KICAgICAgICAgICAgd29yZHMuZm9yRWFjaCh3b3JkID0+IHsNCiAgICAgICAgICAgICAgICBpZiAoKGN1cnJlbnRMaW5lICsgd29yZCkubGVuZ3RoID4gMTYpIHsNCiAgICAgICAgICAgICAgICAgICAgbGluZXMucHVzaChjdXJyZW50TGluZS50cmltKCkpOw0KICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGluZSA9IHdvcmQgKyAiICI7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgY3VycmVudExpbmUgKz0gd29yZCArICIgIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGxpbmVzLnB1c2goY3VycmVudExpbmUudHJpbSgpKTsNCiAgICAgICAgICAgIHJldHVybiBsaW5lczsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIFNoYXJlZCBUb29sdGlwIENvbmZpZw0KICAgICAgICBjb25zdCB0b29sdGlwQ29uZmlnID0gew0KICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgdGl0bGU6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtcykgew0KICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdG9vbHRpcEl0ZW1zWzBdOw0KICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmNoYXJ0LmRhdGEubGFiZWxzW2l0ZW0uZGF0YUluZGV4XTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGFiZWwpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWwuam9pbignICcpOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIC8vIENoYXJ0IDE6IFJ1aW4gQ3VydmUgKFF1YWRyYXRpYyBSZWxhdGlvbnNoaXApDQogICAgICAgIGNvbnN0IGN0eFJ1aW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVpbkN1cnZlQ2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4UnVpbiwgew0KICAgICAgICAgICAgdHlwZTogJ2xpbmUnLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogWycxMDBwaXBzJywgJzgwcGlwcycsICc2MHBpcHMnLCAnNDBwaXBzJywgJzIwcGlwcycsICcxMHBpcHMnXS5tYXAod3JhcExhYmVsKSwNCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sNCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfmjqjlrprlkKvjgb/mkI3mjIfmlbAnLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMSwgMS41LCAyLjgsIDYuMiwgMjUsIDEwMF0sDQogICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzAwYThlOCcsDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMTY4LCAyMzIsIDAuMSknLA0KICAgICAgICAgICAgICAgICAgICBmaWxsOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICB0ZW5zaW9uOiAwLjQsDQogICAgICAgICAgICAgICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiAnIzAwMzQ1OScsDQogICAgICAgICAgICAgICAgICAgIHBvaW50UmFkaXVzOiA2DQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7DQogICAgICAgICAgICAgICAgICAgIGxlZ2VuZDogeyBkaXNwbGF5OiBmYWxzZSB9LA0KICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB0b29sdGlwQ29uZmlnDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsNCiAgICAgICAgICAgICAgICAgICAgeTogeyANCiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLCANCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlIA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB4OiB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyBmb250OiB7IHNpemU6IDEwIH0gfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICAvLyBDaGFydCAyOiBYQVVVU0QgUmlzayBDb21wYXJpc29uDQogICAgICAgIGNvbnN0IGN0eFhhdSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd4YXV1c2RSaXNrQ2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4WGF1LCB7DQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICBsYWJlbHM6IFsnJDUgKFJ1aW4pJywgJyQxMCAoSGlnaCBSaXNrKScsICckNTAgKEJvdW5kYXJ5KScsICckMTAwIChTYWZlKSddLm1hcCh3cmFwTGFiZWwpLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+acgOWkp+WQq+OBv+aQjSAoJCknLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMjU2ODAwLCAxMjg4MDAsIDI2NDAwLCAxMzYwMF0sDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWw0KICAgICAgICAgICAgICAgICAgICAgICAgJyNlZjQ0NDQnLCAvLyBSZWQgZm9yIHJ1aW4NCiAgICAgICAgICAgICAgICAgICAgICAgICcjZjU5ZTBiJywgLy8gT3JhbmdlDQogICAgICAgICAgICAgICAgICAgICAgICAnIzBlYTVlOScsIC8vIEJsdWUNCiAgICAgICAgICAgICAgICAgICAgICAgICcjMTBiOTgxJyAgLy8gR3JlZW4NCiAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4DQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7DQogICAgICAgICAgICAgICAgICAgIGxlZ2VuZDogeyBkaXNwbGF5OiBmYWxzZSB9LA0KICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB0b29sdGlwQ29uZmlnDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsNCiAgICAgICAgICAgICAgICAgICAgeTogeyANCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB7IGRpc3BsYXk6IHRydWUsIHRleHQ6ICflkKvjgb/mkI0gKCQpJywgZm9udDogeyB3ZWlnaHQ6ICdib2xkJyB9IH0sDQogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyBjYWxsYmFjazogdmFsdWUgPT4gJyQnICsgdmFsdWUudG9Mb2NhbGVTdHJpbmcoKSB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHg6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpY2tzOiB7IGZvbnQ6IHsgc2l6ZTogMTAgfSB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIC8vIENoYXJ0IDM6IFBhaXIgQ29tcGFyaXNvbiAoT3B0aW1hbCBXaWR0aHMpDQogICAgICAgIGNvbnN0IGN0eFBhaXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFpckNvbXBhcmlzb25DaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHhQYWlyLCB7DQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGluZGV4QXhpczogJ3knLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogWw0KICAgICAgICAgICAgICAgICAgICAnWEFVVVNEIChHb2xkIFN3YXAgR3JpZCknLA0KICAgICAgICAgICAgICAgICAgICAnRVVSVVNEIChTdGFuZGFyZCBSYW5nZSknLA0KICAgICAgICAgICAgICAgICAgICAnVVNESlBZIChUcmVuZC1IZWF2eSknLA0KICAgICAgICAgICAgICAgICAgICAnQVVETlpEIChEaWFtb25kIENvcmUpJw0KICAgICAgICAgICAgICAgIF0ubWFwKHdyYXBMYWJlbCksDQogICAgICAgICAgICAgICAgZGF0YXNldHM6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfmjqjlpajjg4jjg6njg4Pjg5fluYUgKHBpcHMgLyBVU0QpJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFsxMDAsIDUwLCA1MCwgMzBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzAwN2VhNycsDQogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDQNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnoLTntrvjg6rjgrnjgq/looPnlYznt5onLA0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogWzIwLCAxNSwgMTUsIDEwXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNlZjQ0NDQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA0DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsDQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogew0KICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgcG9zaXRpb246ICdib3R0b20nIH0sDQogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6IHRvb2x0aXBDb25maWcNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNjYWxlczogew0KICAgICAgICAgICAgICAgICAgICB4OiB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHsgZGlzcGxheTogdHJ1ZSwgdGV4dDogJ+WApOW5hSAo55u45a++5oyH5qiZKScgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHk6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpY2tzOiB7IGZvbnQ6IHsgc2l6ZTogMTEsIHdlaWdodDogJ2JvbGQnIH0gfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICA8L3NjcmlwdD4NCjxzY3JpcHQ+DQooZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgIHZhciBGUkFNRV9JRCA9ICJmeGNvbXAtaHRtbC1mcmFtZS0yMmU0MTcwMi01ZjRmLTRkNmQtODcwOS1iNjE1OTY2OTI4MTgiOw0KICAgIHZhciB0aW1lciA9IG51bGw7DQoNCiAgICBmdW5jdGlvbiBnZXRIZWlnaHQoKSB7DQogICAgICAgIHZhciBiID0gZG9jdW1lbnQuYm9keTsNCiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQoNCiAgICAgICAgaWYgKCFiIHx8ICFlKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIC8qDQogICAgICAgICAqIOmHjeimgToNCiAgICAgICAgICogY2xpZW50SGVpZ2h0IC8gb2Zmc2V0SGVpZ2h0IOOBr+ePvuWcqOOBrmlmcmFtZemrmOOBleOCkuaLvuOBhOOChOOBmeOBj+OAgQ0KICAgICAgICAgKiDkuIDluqbjgrnjg57jg5vluYXjgaflpKfjgY3jgY/jgarjgaPjgZ/pq5jjgZXjgYzmiLvjgonjgarjgYTljp/lm6DjgavjgarjgovjgIINCiAgICAgICAgICog44Gd44Gu44Gf44KB44CB5a6f44Kz44Oz44OG44Oz44OE5a+E44KK44GuIHNjcm9sbEhlaWdodCAvIGdldEJvdW5kaW5nQ2xpZW50UmVjdCDjgpLkuK3lv4PjgavmuKzjgovjgIINCiAgICAgICAgICovDQogICAgICAgIHZhciBib2R5UmVjdCA9IGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID8gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA6IHsgaGVpZ2h0OiAwIH07DQogICAgICAgIHZhciBodG1sUmVjdCA9IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID8gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA6IHsgaGVpZ2h0OiAwIH07DQoNCiAgICAgICAgdmFyIGNhbmRpZGF0ZXMgPSBbDQogICAgICAgICAgICBiLnNjcm9sbEhlaWdodCB8fCAwLA0KICAgICAgICAgICAgZS5zY3JvbGxIZWlnaHQgfHwgMCwNCiAgICAgICAgICAgIE1hdGguY2VpbChib2R5UmVjdC5oZWlnaHQgfHwgMCksDQogICAgICAgICAgICBNYXRoLmNlaWwoaHRtbFJlY3QuaGVpZ2h0IHx8IDApDQogICAgICAgIF07DQoNCiAgICAgICAgdmFyIGggPSAwOw0KDQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FuZGlkYXRlcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgaWYgKGNhbmRpZGF0ZXNbaV0gPiBoKSB7DQogICAgICAgICAgICAgICAgaCA9IGNhbmRpZGF0ZXNbaV07DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gaDsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzZW5kSGVpZ2h0KCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGggPSBnZXRIZWlnaHQoKTsNCg0KICAgICAgICAgICAgaWYgKGggPiAwICYmIHdpbmRvdy5wYXJlbnQpIHsNCiAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogImZ4Y29tcC1odG1sLWlmcmFtZS1oZWlnaHQiLA0KICAgICAgICAgICAgICAgICAgICBmcmFtZUlkOiBGUkFNRV9JRCwNCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoDQogICAgICAgICAgICAgICAgfSwgIioiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzZW5kSGVpZ2h0U29vbigpIHsNCiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsNCg0KICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIHsNCiAgICAgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShzZW5kSGVpZ2h0KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgc2VuZEhlaWdodCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCAzMCk7DQogICAgfQ0KDQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBzZW5kSGVpZ2h0U29vbik7DQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHNlbmRIZWlnaHRTb29uKTsNCg0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YSB8fCB7fTsNCg0KICAgICAgICBpZiAoIWRhdGEgfHwgZGF0YS50eXBlICE9PSAiZnhjb21wLWh0bWwtaWZyYW1lLW1lYXN1cmUiKSB7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZGF0YS5mcmFtZUlkICE9PSBGUkFNRV9JRCkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgc2VuZEhlaWdodFNvb24oKTsNCiAgICB9KTsNCg0KICAgIGlmICgiUmVzaXplT2JzZXJ2ZXIiIGluIHdpbmRvdykgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKHNlbmRIZWlnaHRTb29uKTsNCg0KICAgICAgICAgICAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkgew0KICAgICAgICAgICAgICAgIHJvLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkpIHsNCiAgICAgICAgICAgICAgICByby5vYnNlcnZlKGRvY3VtZW50LmJvZHkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIGlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5yZWFkeSkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihzZW5kSGVpZ2h0U29vbik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgdmFyIGNvdW50ID0gMDsNCiAgICB2YXIgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7DQogICAgICAgIHNlbmRIZWlnaHRTb29uKCk7DQogICAgICAgIGNvdW50ICs9IDE7DQoNCiAgICAgICAgaWYgKGNvdW50ID4gMjApIHsNCiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOw0KICAgICAgICB9DQogICAgfSwgNTAwKTsNCg0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDUwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAzMDApOw0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDEwMDApOw0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDI1MDApOw0KfSkoKTsNCjwvc2NyaXB0Pgo8L2JvZHk+DQo8L2h0bWw+</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-22e41702-5f4f-4d6d-8709-b61596692818";
                var SOURCE_ID = "fxcomp-html-frame-22e41702-5f4f-4d6d-8709-b61596692818-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div><p>The post <a href="https://fxcomp.net/trap-1757">トラップリピート最適幅・利益率分析</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/trap-1757/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>金融市場のトレンド転換メカニズム</title>
		<link>https://fxcomp.net/trend_rev-1754</link>
					<comments>https://fxcomp.net/trend_rev-1754#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Tue, 23 Jun 2026 13:07:18 +0000</pubDate>
				<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1754</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-0a64d4cc-bfd7-40d4-8560-fa0c5372556f"
                class="fxcomp-html-iframe"
                title="金融市場のトレンド転換メカニズム"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-0a64d4cc-bfd7-40d4-8560-fa0c5372556f-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT7ph5Hono3luILloLTjga7jg4jjg6zjg7Pjg4nou6Lmj5vjg6Hjgqvjg4vjgrrjg6A8L3RpdGxlPg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4NCiAgICA8c3R5bGU+DQogICAgICAgIGJvZHkgeyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ0hpcmFnaW5vIFNhbnMnLCBNZWlyeW8sIHNhbnMtc2VyaWY7IH0NCiAgICAgICAgLmdsYXNzLXBhbmVsIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC43KTsNCiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgfQ0KICAgICAgICAudGltZWxpbmUtZG90IHsNCiAgICAgICAgICAgIHdpZHRoOiAxNnB4Ow0KICAgICAgICAgICAgaGVpZ2h0OiAxNnB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMTcyYTsNCiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICMzOGJkZjg7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgICBsZWZ0OiAtOHB4Ow0KICAgICAgICAgICAgdG9wOiA2cHg7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9ImJnLXNsYXRlLTkwMCB0ZXh0LXNsYXRlLTMwMCBtaW4taC1zY3JlZW4gcC00IG1kOnAtOCI+DQoNCiAgICA8aGVhZGVyIGNsYXNzPSJtYXgtdy02eGwgbXgtYXV0byBtYi0xNiB0ZXh0LWNlbnRlciBwdC04Ij4NCiAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LTN4bCBtZDp0ZXh0LTR4bCBsZzp0ZXh0LTV4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi02IGxlYWRpbmctdGlnaHQiPg0KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtY3lhbi00MDAiPuODiOODrOODs+ODiei7ouaPmzwvc3Bhbj7jga7jg6Hjgqvjg4vjgrrjg6ANCiAgICAgICAgPC9oMT4NCiAgICAgICAgPHAgY2xhc3M9InRleHQtYmFzZSBtZDp0ZXh0LWxnIHRleHQtc2xhdGUtNDAwIG1heC13LTN4bCBteC1hdXRvIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICDjg4jjg6zjg7Pjg4nou6Lmj5vjga/ljZjkuIDjga7jg4vjg6Xjg7zjgrnjgafnqoHnhLbotbfjgZPjgovjgo/jgZHjgafjga/jgYLjgorjgb7jgZvjgpPjgILjgIzlgY/jgaPjgZ/jg53jgrjjgrfjg6fjg7PjgI3jgavjgIzjg5XjgqHjg7Pjg4Djg6Hjg7Pjgr/jg6vjgrrjga7lpInljJbjgI3jgYzmipXjgZjjgonjgozjgIHjgIzlpKfooYblv4PnkIbjga7pmZDnlYzjgI3jgpLntYzjgabjgIzjg4bjgq/jg4vjgqvjg6vjga7nr4Dnm67jgI3jgafnmbrngavjgZnjgovjgIHopIflkIjnmoTjgYvjgaTpgKPpjpbnmoTjgarjg5fjg63jgrvjgrnjgafjgZnjgIINCiAgICAgICAgPC9wPg0KICAgIDwvaGVhZGVyPg0KDQogICAgPG1haW4gY2xhc3M9Im1heC13LTZ4bCBteC1hdXRvIHNwYWNlLXktMjAgcGItMTYiPg0KDQogICAgICAgIDwhLS0g5paw6KaP6L+95Yqg77ya44OI44Os44Oz44OJ6Lui5o+b44GuM+autemajuODl+ODreOCu+OCuSAtLT4NCiAgICAgICAgPHNlY3Rpb24+DQogICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi04IGJvcmRlci1iIGJvcmRlci1zbGF0ZS03MDAgcGItMyBmbGV4IGl0ZW1zLWNlbnRlciI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1ibG9jayB3LTIgaC02IGJnLWJsdWUtNDAwIG1yLTMgcm91bmRlZCI+PC9zcGFuPg0KICAgICAgICAgICAgICAgIOODiOODrOODs+ODiei7ouaPm+OBrjPmrrXpmo7jg5fjg63jgrvjgrkgKOaZgumWk+i7uOOBruWIhuaekCkNCiAgICAgICAgICAgIDwvaDI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1wYW5lbCBwLTggcm91bmRlZC14bCI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS00MDAgbWItOCI+DQogICAgICAgICAgICAgICAgICAgIOODgOOCpueQhuirluOChOODr+OCpOOCs+ODleeQhuirluOBp+OCguekuuOBleOCjOOCi+OCiOOBhuOBq+OAgeW3qOWkp+OBquODiOODrOODs+ODieOBjOWPjei7ouOBmeOCi+mam+OBr+OAgeaYjueiuuOBqumghuW6j+OCkuS8tOOBo+OBpuW4guWgtOOBruOCqOODjeODq+OCruODvOOBjOWFpeOCjOabv+OCj+OCiuOBvuOBmeOAgg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBib3JkZXItbC0yIGJvcmRlci1zbGF0ZS03MDAgbWwtNCBtZDptbC02IHNwYWNlLXktMTAgcGItNCI+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBwbC04IG1kOnBsLTEwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWRvdCBib3JkZXItcHVycGxlLTQwMCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtbGcgZm9udC1ib2xkIHRleHQtcHVycGxlLTQwMCBtYi0yIj7jg5Xjgqfjg7zjgrox77ya44OH44Kj44K544OI44Oq44OT44Ol44O844K344On44OzIC8g44Ki44Kt44Ol44Og44Os44O844K344On44Oz77yI5LqI5YWG77yJPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg5L6h5qC844Gv44G+44Gg5pei5a2Y44Gu44OI44Os44Oz44OJ5pa55ZCR44Gr6YCy44KT44Gn44GE44G+44GZ44GM44CB44Gd44Gu6KOP44Gn5Yui44GE77yI44Oi44Oh44Oz44K/44Og77yJ44GM5L2O5LiL44GX44G+44GZ44CC44K544Oe44O844OI44Oe44ON44O877yI5qmf6Zai5oqV6LOH5a6277yJ44GM5Yip55uK56K65a6a44KS6YCy44KB44KL5LiA5pa544CB5Ye66YGF44KM44Gf5LiA6Iis5oqV6LOH5a6244GM54ax54uC44GX44Gm6aOb44Gz5LmX44KL5pmC5pyf44Gn44GZ44CC44OG44Kv44OL44Kr44Or5oyH5qiZ44Gn44CM44OA44Kk44OQ44O844K444Kn44Oz44K577yI5L6h5qC844Go5oyH5qiZ44Gu6YCG6KGM77yJ44CN44GM55m655Sf44GX44KE44GZ44GP44Gq44KK44G+44GZ44CCDQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIHBsLTggbWQ6cGwtMTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtZG90IGJvcmRlci1vcmFuZ2UtNDAwIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQgdGV4dC1vcmFuZ2UtNDAwIG1iLTIiPuODleOCp+ODvOOCujLvvJrjgqvjgr/jg6rjgrnjg4jjgajmp4vpgKDjga7noLTlo4rvvIjnmbrngavvvIk8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS0zMDAgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICDntYzmuIjmjIfmqJnjga7jgrXjg5fjg6njgqTjgrrjgoTopoHkurrnmbroqIDjgarjganjgIHmlrDjgZfjgYTjgIzjg5XjgqHjg7Pjg4Djg6Hjg7Pjgr/jg6vjgrrjga7ngavnqK7vvIjjgqvjgr/jg6rjgrnjg4jvvInjgI3jgYzmipXkuIvjgZXjgozjgb7jgZnjgILjgZPjgozjgavjgojjgorjgIHph43opoHjgaDjgaPjgZ/jgrXjg53jg7zjg4gv44Os44K444K544K/44Oz44K544Op44Kk44Oz44GM56qB56C044GV44KM44CB5rqc44G+44Gj44Gm44GE44Gf44K544OI44OD44OX44Ot44K577yI5pCN5YiH44KK77yJ44KS5be744GN6L6844KT44Gn44Oc44Op44OG44Kj44Oq44OG44Kj44GM5oCl5ouh5aSn44GX44G+44GZ44CCDQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIHBsLTggbWQ6cGwtMTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtZG90IGJvcmRlci1jeWFuLTQwMCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtbGcgZm9udC1ib2xkIHRleHQtY3lhbi00MDAgbWItMiI+44OV44Kn44O844K6M++8muODrOOCuOODvOODoOOCt+ODleODiOOBqOi/vemaj++8iOeiuueri++8iTwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTMwMCBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWPjeeZuu+8iOODquODiOODrOODvOOCueODoeODs+ODiO+8ieOBjOOBguOBo+OBpuOCguS7peWJjeOBrumrmOWApC/lronlgKTjgpLmm7TmlrDjgafjgY3jgZrjgIHmlrDjgZ/jgarjg4DjgqbnkIboq5bjga7jg4jjg6zjg7Pjg4nvvIjpq5jlgKTjg7vlronlgKTjga7liIfjgorkuIvjgZIv5YiH44KK5LiK44GS77yJ44GM5a6M5oiQ44GX44G+44GZ44CC44GT44GT44Gn44OI44Os44Oz44OJ44OV44Kp44Ot44O85Z6L44Gu44Ki44Or44K044Oq44K644Og44KE6YGF44KM44Gm54q25rOB44KS55CG6Kej44GX44Gf6LOH6YeR44GM5rWB5YWl44GX44CB5paw44GX44GE44OI44Os44Oz44OJ44GM5a6a552A44GX44G+44GZ44CCDQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8IS0tIOeQhuirlueahOaeoOe1hOOBv++8iDTmrKHlhYPjgavmi6HlvLXvvIkgLS0+DQogICAgICAgIDxzZWN0aW9uPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LXNlbWlib2xkIHRleHQtd2hpdGUgbWItNiBib3JkZXItYiBib3JkZXItc2xhdGUtNzAwIHBiLTMgZmxleCBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgdy0yIGgtNiBiZy1jeWFuLTQwMCBtci0zIHJvdW5kZWQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICA044Gk44Gu5qyh5YWD44Gr44KI44KL6KaB5Zug5YiG5p6QDQogICAgICAgICAgICA8L2gyPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtNiI+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtcGFuZWwgcC02IHJvdW5kZWQteGwgaG92ZXI6Ymctc2xhdGUtODAwIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGJvcmRlci10LTIgYm9yZGVyLXQtb3JhbmdlLTQwMCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtb3JhbmdlLTQwMCB0ZXh0LXhsIGZvbnQtYm9sZCBtYi0zIj4xLiDjg5XjgqHjg7Pjg4Djg6Hjg7Pjgr/jg6vjgrogKFdoeSk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIG1iLTMiPuODiOODrOODs+ODieOBruaWueWQkeaAp+OCkuaxuuOCgeOCi+OAjOmHjeWKm+OAjTwvaDM+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNDAwIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICDph5Hono3mlL/nrZbjga7kuZbpm6LjgIHjgqTjg7Pjg5Xjg6zli5XlkJHjgIHntYzmuIjmiJDplbfnjofjga7lt67jgarjganjgIHkuK3plbfmnJ/nmoTjgaros4fph5Hjga7mtYHjgozjgpLmsbrlrprjgaXjgZHjgovjg57jgq/jg63opoHlm6DjgILjgZPjgozjgonjgYzlpInljJbjgZnjgovjgIzlhYbjgZfjgI3jgYzjg4jjg6zjg7Pjg4nou6Lmj5vjga7moLnmupDnmoTjgarnkIbnlLHjgajjgarjgorjgb7jgZnjgIINCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtcGFuZWwgcC02IHJvdW5kZWQteGwgaG92ZXI6Ymctc2xhdGUtODAwIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGJvcmRlci10LTIgYm9yZGVyLXQtcGluay00MDAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXBpbmstNDAwIHRleHQteGwgZm9udC1ib2xkIG1iLTMiPjIuIOOCu+ODs+ODgeODoeODs+ODiCAoV2hvKTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1tZWRpdW0gbWItMyI+5aSn6KGG5b+D55CG44Gu44CM5qW16ZmQ54q25oWL44CNPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS00MDAgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIOODoeODh+OCo+OCouOBjOOAjOWGhuWuieOBr+OBqeOBk+OBvuOBp+e2muOBj+OBruOBi+OAjeOBqOmokuOBjueri+OBpuOAgeS4gOiIrOWxpOOBvuOBp+OBjOeJueWumuOBruaWueWQkeOBuOaKleizh+OCkuWni+OCgeOBn+aZguOAgeW4guWgtOOBruOCu+ODs+ODgeODoeODs+ODiOOBr+alteW6puOBq+WBj+OCiuOBvuOBmeOAguiyt+OBhOaJi++8iOWjsuOCiuaJi++8ieOBjOS4jeWcqOOBq+OBquOBo+OBn+eKtuaFi+OBjOOAgeWkqeS6le+8iOWkp+W6le+8ieOBruOCt+OCsOODiuODq+OBqOOBquOCiuOBvuOBmeOAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1wYW5lbCBwLTYgcm91bmRlZC14bCBob3ZlcjpiZy1zbGF0ZS04MDAgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgYm9yZGVyLXQtMiBib3JkZXItdC1jeWFuLTQwMCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY3lhbi00MDAgdGV4dC14bCBmb250LWJvbGQgbWItMyI+My4g5biC5aC05qeL6YCgIChIb3cpPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC13aGl0ZSBmb250LW1lZGl1bSBtYi0zIj7ou6Lmj5vjga7pgJ/luqbjgpLmsbrlrprjgaXjgZHjgovjgIzniIbolqzjgI08L2gzPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTQwMCBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAg5oqV5qmf562L44Gu44Od44K444K344On44Oz44Gu5YGP44KK77yI5L6L77ya5q205Y+y55qE44Gq5YaG44K344On44O844OI77yJ44KE44CB44Kq44OX44K344On44Oz44Gu44OQ44Oq44Ki44CC44GT44KM44KJ44GM5qW156uv44Gr5YGP44Gj44Gf54q25oWL44Gn6YCG5pa55ZCR44Gu5p2Q5paZ44GM5Ye644KL44Go44CB44Ot44K544Kr44OD44OI77yI6LiP44G/5LiK44GS77yJ44Gu6YCj6Y6W44KS5be744GN6L6844G/5YqH55qE44Gq6Lui5o+b44KS5byV44GN6LW344GT44GX44G+44GZ44CCDQogICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLXBhbmVsIHAtNiByb3VuZGVkLXhsIGhvdmVyOmJnLXNsYXRlLTgwMCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBib3JkZXItdC0yIGJvcmRlci10LXB1cnBsZS00MDAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXB1cnBsZS00MDAgdGV4dC14bCBmb250LWJvbGQgbWItMyI+NC4g44OG44Kv44OL44Kr44OrIChXaGVuKTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1tZWRpdW0gbWItMyI+6ZmQ55WM54K544KS6KaW6Kaa5YyW44GZ44KL44CM6LW354iG44K544Kk44OD44OB44CNPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS00MDAgbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIOmHjeimgeOBquOCteODneODvOODiC/jg6zjgrjjgrnjgr/jg7Pjgrnjg6njgqTjg7PjgIHnp7vli5XlubPlnYfnt5rjga7jgq/jg63jgrnjgIHjg4DjgqTjg5Djg7zjgrjjgqfjg7PjgrnjgILluILloLTlj4LliqDogIXjgYzms6jnm67jgZnjgovkvqHmoLzluK/jgpLmipzjgZHjgovjgZPjgajjgafjgIHjgqLjg6vjgrTjg6rjgrrjg6Dlj5blvJXjgoTov73pmo/lo7Losrfjga7jg4jjg6rjgqzjg7zjgYzlvJXjgYvjgozjgb7jgZnjgIINCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0g5LqL5L6L5YiG5p6QIC0tPg0KICAgICAgICA8c2VjdGlvbj4NCiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIG1iLTYgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTcwMCBwYi0zIGZsZXggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWJsb2NrIHctMiBoLTYgYmctZW1lcmFsZC00MDAgbXItMyByb3VuZGVkIj48L3NwYW4+DQogICAgICAgICAgICAgICAg6KSH5ZCI55qE6KaB5Zug44Gr44KI44KL5YW35L2T55qE44Gq6LOH55Sj5LqL5L6LIChDYXNlIFN0dWRpZXMpDQogICAgICAgICAgICA8L2gyPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMiBnYXAtOCI+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPCEtLSBVU0RKUFkgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtcGFuZWwgcC02IHJvdW5kZWQteGwiPg0KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMiBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1lbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgVVNEL0pQWSANCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIG1kOnRleHQtc20gdGV4dC1jeWFuLTQwMCBmb250LW5vcm1hbCBiZy1jeWFuLTQwMC8xMCBweC0yIHB5LTEgcm91bmRlZCI+Q1BJ44K344On44OD44Kv44Go5YaG44K344On44O844OI5be75oi744GXPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2gzPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTQwMCBtYi02IG1pbi1oLVs1cmVtXSI+DQogICAgICAgICAgICAgICAgICAgICAgICAyMDI05bm044GuMTYxLjnlhobjgYvjgonjga7mgKXokL3jgILml6XnsbPph5HliKnlt67nuK7lsI/jga7mgJ3mg5HvvIjjg5XjgqHjg7Pjg4DvvInjgIHmpbXpmZDjgavpgZTjgZfjgZ/jgIzlhoblronjga/ntYLjgo/jgonjgarjgYTjgI3jgajjgYTjgYblpKfooYblv4PnkIbvvIjjgrvjg7Pjg4Hjg6Hjg7Pjg4jvvInjgIHmrbTlj7LnmoTjgarlhoblo7Ljgorjg53jgrjjgrfjg6fjg7PvvIjluILloLTmp4vpgKDvvInjgIHjgZ3jgZfjgabku4vlhaXorabmiJLjgajjg4Hjg6Pjg7zjg4jjga7lpKnkupXjgrfjgrDjg4rjg6vvvIjjg4bjgq/jg4vjgqvjg6vvvInjgYzlhajkuIDoh7TjgZfjgZ/lhbjlnovnmoTjgaropIflkIjou6Lmj5vjgafjgZnjgIINCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBoLTY0IHctZnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJ1c2RqcHlDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPCEtLSBFVVJVU0QgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtcGFuZWwgcC02IHJvdW5kZWQteGwiPg0KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMiBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1lbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgRVVSL1VTRCANCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIG1kOnRleHQtc20gdGV4dC1wdXJwbGUtNDAwIGZvbnQtbm9ybWFsIGJnLXB1cnBsZS00MDAvMTAgcHgtMiBweS0xIHJvdW5kZWQiPuODkeODqeODieODg+OCr+OCueOBqOaIkOmVt+S4jeWuiTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS00MDAgbWItNiBtaW4taC1bNXJlbV0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgRUNC44GM5Yip5LiK44GS44KS44GX44Gm44KC44Om44O844Ot44GM5aOy44KJ44KM44KL77yI44K544K/44Kw44OV44Os44O844K344On44Oz5oe45b+177yJ54++6LGh44CC5Y2Y44Gq44KL6YeR5Yip5beu77yI44OV44Kh44Oz44OA77yJ44Gg44GR44Gn44Gq44GP44CB57WM5riI5oiQ6ZW344Gu44OV44Kh44Oz44OA44Oh44Oz44K/44Or44K644Gr5a++44GZ44KL5biC5aC044Gu5L+h6aC85L2O5LiL44GM44Os44K444O844Og44K344OV44OI44KS6LW344GT44GX44G+44GX44Gf44CCDQogICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgaC02NCB3LWZ1bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0iZXVydXNkQ2hhcnQiPjwvY2FudmFzPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gWEFVVVNEIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLXBhbmVsIHAtNiByb3VuZGVkLXhsIj4NCiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtZW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIFhBVS9VU0QgDQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBtZDp0ZXh0LXNtIHRleHQtYW1iZXItNDAwIGZvbnQtbm9ybWFsIGJnLWFtYmVyLTQwMC8xMCBweC0yIHB5LTEgcm91bmRlZCI+5paw44Os44K444O844Og44G444Gu56e76KGMPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2gzPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTQwMCBtYi02IG1pbi1oLVs1cmVtXSI+DQogICAgICAgICAgICAgICAgICAgICAgICDjgIzlrp/os6rph5HliKnkuIrmmIfvvJ3ph5HkuIvokL3jgI3jgajjgYTjgYbkvJ3ntbHnmoTnm7jplqLjgYzltKnlo4rjgILlnLDmlL/lrabjg6rjgrnjgq/jgajkuK3lpK7pioDooYzvvIjnibnjgavmlrDoiIjlm73vvInjga7nj77nianosrfjgYTjgajjgYTjgYblvLflipvjgarmp4vpgKDnmoTpnIDopoHjgYzjgIHjg4bjgq/jg4vjgqvjg6vjgarkuIrlgKTmirXmipfnt5rvvIgyMDcwJOS7mOi/ke+8ieOCkuasoeOAheOBqOeqgeegtOOBleOBm+OAgeaWsOOBn+OBquS4iuaYh+ODiOODrOODs+ODieOCkuS9nOOCiuOBvuOBl+OBn+OAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGgtNjQgdy1mdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9InhhdXVzZENoYXJ0Ij48L2NhbnZhcz4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIEFVRE5aRCAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1wYW5lbCBwLTYgcm91bmRlZC14bCI+DQogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0yIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICBBVUQvTlpEIA0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgbWQ6dGV4dC1zbSB0ZXh0LWdyZWVuLTQwMCBmb250LW5vcm1hbCBiZy1ncmVlbi00MDAvMTAgcHgtMiBweS0xIHJvdW5kZWQiPuS6pOaYk+adoeS7tuOBqOODrOODs+OCuOODluODrOOCpOOCrzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS00MDAgbWItNiBtaW4taC1bNXJlbV0iPg0KICAgICAgICAgICAgICAgICAgICAgICAg6ZW35pyf6ZaT44Gu44Os44Oz44K455u45aC044GL44KJ44CB5Lih5Zu944Gu5Li76KaB6Ly45Ye65ZOB77yI6YmE6Ymx55+zIHZzIOS5s+ijveWTge+8ieOBruS+oeagvOW3ruOChOOCpOODs+ODleODrOOCteOCpOOCr+ODq+OBruOCuuODrOOBq+OCiOOCi+S6pOaYk+adoeS7tuOBruWkieWMlu+8iOODleOCoeODs+ODgO+8ieOCkuOBjeOBo+OBi+OBkeOBq+OAgeODhuOCr+ODi+OCq+ODq+OBquWkp+WPsOOCkueqgeegtOOBl+OBpuaYjueiuuOBquODiOODrOODs+ODieOBjOeZuueUn+OBl+OBvuOBl+OBn+OAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGgtNjQgdy1mdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9ImF1ZG56ZENoYXJ0Ij48L2NhbnZhcz4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICA8L21haW4+DQoNCiAgICA8c2NyaXB0Pg0KICAgICAgICAvLyBDaGFydC5qcyDlhbHpgJroqK3lrpoNCiAgICAgICAgQ2hhcnQuZGVmYXVsdHMuY29sb3IgPSAnIzk0YTNiOCc7DQogICAgICAgIENoYXJ0LmRlZmF1bHRzLmZvbnQuZmFtaWx5ID0gIidIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsIHNhbnMtc2VyaWYiOw0KICAgICAgICBjb25zdCBncmlkQ29sb3IgPSAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSc7DQoNCiAgICAgICAgLy8gMS4gVVNESlBZIENoYXJ0DQogICAgICAgIGNvbnN0IGN0eFVzZGpweSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2RqcHlDaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHhVc2RqcHksIHsNCiAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICBsYWJlbHM6IFsnMeaciCcsICcz5pyIJywgJzXmnIgnLCAnN+aciOS4iuaXrFxuKDE2MS455YaGKScsICc35pyI5LiL5pesXG4oQ1BJ44K344On44OD44KvKScsICc45pyIXG4o5be75oi744GXKSddLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1VTRC9KUFkg44Os44O844OIJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzE0MiwgMTUwLCAxNTYsIDE2MS45LCAxNTIsIDE0NV0sDQogICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzIyZDNlZScsIC8vIGN5YW4tNDAwDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMzQsIDIxMSwgMjM4LCAwLjEpJywNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDMsDQogICAgICAgICAgICAgICAgICAgIHRlbnNpb246IDAuMywNCiAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6IFsnIzIyZDNlZScsICcjMjJkM2VlJywgJyMyMmQzZWUnLCAnI2ZiOTIzYycsICcjMjJkM2VlJywgJyMyMmQzZWUnXSwNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogJyNmZmYnLA0KICAgICAgICAgICAgICAgICAgICBwb2ludFJhZGl1czogWzAsIDAsIDAsIDYsIDQsIDRdDQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7IA0KICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwNCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uKGNvbnRleHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQucmF3ICsgJyDlhoYnOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7DQogICAgICAgICAgICAgICAgICAgIHk6IHsgZ3JpZDogeyBjb2xvcjogZ3JpZENvbG9yIH0sIHN1Z2dlc3RlZE1pbjogMTQwLCBzdWdnZXN0ZWRNYXg6IDE2NSB9LA0KICAgICAgICAgICAgICAgICAgICB4OiB7IGdyaWQ6IHsgY29sb3I6IGdyaWRDb2xvciB9LCB0aWNrczogeyBtYXhSb3RhdGlvbjogMCB9IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIC8vIDIuIEVVUlVTRCBDaGFydA0KICAgICAgICBjb25zdCBjdHhFdXJ1c2QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXVydXNkQ2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4RXVydXNkLCB7DQogICAgICAgICAgICB0eXBlOiAnbGluZScsDQogICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgbGFiZWxzOiBbJ+ODleOCp+ODvOOCujFcbijph5HliKnnm7jplqIpJywgJ+ODleOCp+ODvOOCujInLCAn44OV44Kn44O844K6M1xuKOaIkOmVt+S4jeWuieaLoeWkpyknLCAn44OV44Kn44O844K6NCddLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0VVUi9VU0Qg44Os44O844OIJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzEuMTAsIDEuMDksIDEuMDUsIDEuMDddLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNjMDg0ZmMnLCAvLyBwdXJwbGUtNDAwDQogICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAzLA0KICAgICAgICAgICAgICAgICAgICB0ZW5zaW9uOiAwLjQsDQogICAgICAgICAgICAgICAgICAgIHlBeGlzSUQ6ICd5Jw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ+asp+W3nuaUv+etlumHkeWIqSAoJSknLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMi4wLCAzLjAsIDQuMCwgNC41XSwNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICdyZ2JhKDE0OCwgMTYzLCAxODQsIDAuNiknLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMiwNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyRGFzaDogWzUsIDVdLA0KICAgICAgICAgICAgICAgICAgICB5QXhpc0lEOiAneTEnDQogICAgICAgICAgICAgICAgfV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBpbnRlcmFjdGlvbjogeyBtb2RlOiAnaW5kZXgnLCBpbnRlcnNlY3Q6IGZhbHNlIH0sDQogICAgICAgICAgICAgICAgcGx1Z2luczogeyBsZWdlbmQ6IHsgcG9zaXRpb246ICd0b3AnLCBsYWJlbHM6IHsgdXNlUG9pbnRTdHlsZTogdHJ1ZSwgYm94V2lkdGg6IDggfSB9IH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7DQogICAgICAgICAgICAgICAgICAgIHk6IHsgDQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbGluZWFyJywgZGlzcGxheTogdHJ1ZSwgcG9zaXRpb246ICdsZWZ0JywgZ3JpZDogeyBjb2xvcjogZ3JpZENvbG9yIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogeyBkaXNwbGF5OiB0cnVlLCB0ZXh0OiAn54K65pu/44Os44O844OIJywgY29sb3I6ICcjYzA4NGZjJyB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHkxOiB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2xpbmVhcicsIGRpc3BsYXk6IHRydWUsIHBvc2l0aW9uOiAncmlnaHQnLCBncmlkOiB7IGRpc3BsYXk6IGZhbHNlIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogeyBkaXNwbGF5OiB0cnVlLCB0ZXh0OiAn6YeR5YipICglKScsIGNvbG9yOiAnIzk0YTNiOCcgfQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB4OiB7IGdyaWQ6IHsgY29sb3I6IGdyaWRDb2xvciB9IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIC8vIDMuIFhBVVVTRCBDaGFydA0KICAgICAgICBjb25zdCBjdHhYYXV1c2QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneGF1dXNkQ2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4WGF1dXNkLCB7DQogICAgICAgICAgICB0eXBlOiAnbGluZScsDQogICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgbGFiZWxzOiBbJzIwMjInLCAnMjAyMycsICcyMDI0UTFcbigyMDcwJOeqgeegtCknLCAnMjAyNFEyJywgJ+ePvuWcqCddLA0KICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dvbGQgKFhBVS9VU0QpJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzE4MDAsIDE5NTAsIDIwNzAsIDIzNTAsIDI0NTBdLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmYmJmMjQnLCAvLyBhbWJlci00MDANCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTEsIDE5MSwgMzYsIDAuMTUpJywNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDMsDQogICAgICAgICAgICAgICAgICAgIHRlbnNpb246IDAuMiwNCiAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6ICcjZmJiZjI0JywNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRSYWRpdXM6IFswLCAwLCA1LCAwLCAwXQ0KICAgICAgICAgICAgICAgIH1dDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsDQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogeyANCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNjYWxlczogew0KICAgICAgICAgICAgICAgICAgICB5OiB7IGdyaWQ6IHsgY29sb3I6IGdyaWRDb2xvciB9IH0sDQogICAgICAgICAgICAgICAgICAgIHg6IHsgZ3JpZDogeyBjb2xvcjogZ3JpZENvbG9yIH0gfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgLy8gNC4gQVVETlpEIENoYXJ0DQogICAgICAgIGNvbnN0IGN0eEF1ZG56ZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhdWRuemRDaGFydCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgIG5ldyBDaGFydChjdHhBdWRuemQsIHsNCiAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICBsYWJlbHM6IFsnMeW5tOWJjScsICfljYrlubTliY0nLCAn44Os44Oz44K45LiK6ZmQJywgJ+ODluODrOOCpOOCr+OCouOCpuODiCcsICfnj77lnKgnXSwNCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sNCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBVUQvTlpEIOODrOODvOODiCcsDQogICAgICAgICAgICAgICAgICAgIGRhdGE6IFsxLjA2LCAxLjA3LCAxLjA4NSwgMS4wOTUsIDEuMTA1XSwNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNGFkZTgwJywgLy8gZ3JlZW4tNDAwDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoNzQsIDIyMiwgMTI4LCAwLjEpJywNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDMsDQogICAgICAgICAgICAgICAgICAgIHN0ZXBwZWQ6ICdtaWRkbGUnLCAvLyDjgrnjg4bjg4Pjg5fjg4Hjg6Pjg7zjg4jjgafjg6zjg7Pjgrjnm7jloLTjgpLooajnj74NCiAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJ1ZQ0KICAgICAgICAgICAgICAgIH1dDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsDQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogeyBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSB9LA0KICAgICAgICAgICAgICAgIHNjYWxlczogew0KICAgICAgICAgICAgICAgICAgICB5OiB7IGdyaWQ6IHsgY29sb3I6IGdyaWRDb2xvciB9IH0sDQogICAgICAgICAgICAgICAgICAgIHg6IHsgZ3JpZDogeyBjb2xvcjogZ3JpZENvbG9yIH0gfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgPC9zY3JpcHQ+DQo8c2NyaXB0Pg0KKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQoNCiAgICB2YXIgRlJBTUVfSUQgPSAiZnhjb21wLWh0bWwtZnJhbWUtMGE2NGQ0Y2MtYmZkNy00MGQ0LTg1NjAtZmEwYzUzNzI1NTZmIjsNCiAgICB2YXIgdGltZXIgPSBudWxsOw0KDQogICAgZnVuY3Rpb24gZ2V0SGVpZ2h0KCkgew0KICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmJvZHk7DQogICAgICAgIHZhciBlID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ow0KDQogICAgICAgIGlmICghYiB8fCAhZSkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICAvKg0KICAgICAgICAgKiDph43opoE6DQogICAgICAgICAqIGNsaWVudEhlaWdodCAvIG9mZnNldEhlaWdodCDjga/nj77lnKjjga5pZnJhbWXpq5jjgZXjgpLmi77jgYTjgoTjgZnjgY/jgIENCiAgICAgICAgICog5LiA5bqm44K544Oe44Ob5bmF44Gn5aSn44GN44GP44Gq44Gj44Gf6auY44GV44GM5oi744KJ44Gq44GE5Y6f5Zug44Gr44Gq44KL44CCDQogICAgICAgICAqIOOBneOBruOBn+OCgeOAgeWun+OCs+ODs+ODhuODs+ODhOWvhOOCiuOBriBzY3JvbGxIZWlnaHQgLyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qg44KS5Lit5b+D44Gr5ris44KL44CCDQogICAgICAgICAqLw0KICAgICAgICB2YXIgYm9keVJlY3QgPSBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGhlaWdodDogMCB9Ow0KICAgICAgICB2YXIgaHRtbFJlY3QgPSBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7IGhlaWdodDogMCB9Ow0KDQogICAgICAgIHZhciBjYW5kaWRhdGVzID0gWw0KICAgICAgICAgICAgYi5zY3JvbGxIZWlnaHQgfHwgMCwNCiAgICAgICAgICAgIGUuc2Nyb2xsSGVpZ2h0IHx8IDAsDQogICAgICAgICAgICBNYXRoLmNlaWwoYm9keVJlY3QuaGVpZ2h0IHx8IDApLA0KICAgICAgICAgICAgTWF0aC5jZWlsKGh0bWxSZWN0LmhlaWdodCB8fCAwKQ0KICAgICAgICBdOw0KDQogICAgICAgIHZhciBoID0gMDsNCg0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbmRpZGF0ZXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChjYW5kaWRhdGVzW2ldID4gaCkgew0KICAgICAgICAgICAgICAgIGggPSBjYW5kaWRhdGVzW2ldOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGg7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2VuZEhlaWdodCgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBoID0gZ2V0SGVpZ2h0KCk7DQoNCiAgICAgICAgICAgIGlmIChoID4gMCAmJiB3aW5kb3cucGFyZW50KSB7DQogICAgICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJmeGNvbXAtaHRtbC1pZnJhbWUtaGVpZ2h0IiwNCiAgICAgICAgICAgICAgICAgICAgZnJhbWVJZDogRlJBTUVfSUQsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodDogaA0KICAgICAgICAgICAgICAgIH0sICIqIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc2VuZEhlaWdodFNvb24oKSB7DQogICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7DQoNCiAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKSB7DQogICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2VuZEhlaWdodCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHNlbmRIZWlnaHQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgMzApOw0KICAgIH0NCg0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc2VuZEhlaWdodFNvb24pOw0KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCBzZW5kSGVpZ2h0U29vbik7DQoNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICB2YXIgZGF0YSA9IGV2ZW50LmRhdGEgfHwge307DQoNCiAgICAgICAgaWYgKCFkYXRhIHx8IGRhdGEudHlwZSAhPT0gImZ4Y29tcC1odG1sLWlmcmFtZS1tZWFzdXJlIikgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGRhdGEuZnJhbWVJZCAhPT0gRlJBTUVfSUQpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIHNlbmRIZWlnaHRTb29uKCk7DQogICAgfSk7DQoNCiAgICBpZiAoIlJlc2l6ZU9ic2VydmVyIiBpbiB3aW5kb3cpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBybyA9IG5ldyBSZXNpemVPYnNlcnZlcihzZW5kSGVpZ2h0U29vbik7DQoNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHsNCiAgICAgICAgICAgICAgICByby5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5KSB7DQogICAgICAgICAgICAgICAgcm8ub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oc2VuZEhlaWdodFNvb24pOw0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIHZhciBjb3VudCA9IDA7DQogICAgdmFyIGludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgew0KICAgICAgICBzZW5kSGVpZ2h0U29vbigpOw0KICAgICAgICBjb3VudCArPSAxOw0KDQogICAgICAgIGlmIChjb3VudCA+IDIwKSB7DQogICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTsNCiAgICAgICAgfQ0KICAgIH0sIDUwMCk7DQoNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCA1MCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMzAwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAxMDAwKTsNCiAgICBzZXRUaW1lb3V0KHNlbmRIZWlnaHRTb29uLCAyNTAwKTsNCn0pKCk7DQo8L3NjcmlwdD4KPC9ib2R5Pg0KPC9odG1sPg==</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-0a64d4cc-bfd7-40d4-8560-fa0c5372556f";
                var SOURCE_ID = "fxcomp-html-frame-0a64d4cc-bfd7-40d4-8560-fa0c5372556f-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div><p>The post <a href="https://fxcomp.net/trend_rev-1754">金融市場のトレンド転換メカニズム</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/trend_rev-1754/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>重要経済指標定量的分析インフォグラフィック</title>
		<link>https://fxcomp.net/important_info-1751</link>
					<comments>https://fxcomp.net/important_info-1751#respond</comments>
		
		<dc:creator><![CDATA[FxComp]]></dc:creator>
		<pubDate>Sun, 21 Jun 2026 02:23:43 +0000</pubDate>
				<category><![CDATA[図解で学ぶFX]]></category>
		<guid isPermaLink="false">https://fxcomp.net/?p=1751</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<style>
        .html-post-container.fxcomp-html-iframe-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            box-sizing: border-box;
        }

        .html-post-container.fxcomp-html-iframe-shell *,
        .html-post-container.fxcomp-html-iframe-shell *::before,
        .html-post-container.fxcomp-html-iframe-shell *::after {
            box-sizing: border-box;
        }

        iframe.fxcomp-html-iframe {
            display: block;
            width: 100%;
            max-width: 100%;
            min-height: 900px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        body.fxcomp-ai-wide-clean .html-post-container.fxcomp-html-iframe-shell {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
        }

        body.fxcomp-ai-wide-clean iframe.fxcomp-html-iframe {
            width: 100vw !important;
            max-width: 100vw !important;
        }
        </style>

        <div class="html-post-container fxcomp-html-iframe-shell"
             data-fxcomp-html-render="iframe"
             data-fxcomp-html-profile="blog">
            <iframe
                id="fxcomp-html-frame-e82f4df1-b419-46c9-af7d-78b0a093ada8"
                class="fxcomp-html-iframe"
                title="重要経済指標定量的分析インフォグラフィック"
                loading="eager"
                referrerpolicy="same-origin"
                allow="clipboard-read; clipboard-write; fullscreen; web-share"></iframe>

            <script type="application/json" id="fxcomp-html-frame-e82f4df1-b419-46c9-af7d-78b0a093ada8-source">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT7ph43opoHntYzmuIjmjIfmqJnlrprph4/nmoTliIbmnpDjgqTjg7Pjg5XjgqnjgrDjg6njg5XjgqPjg4Pjgq88L3RpdGxlPg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4ucGxvdC5seS9wbG90bHktMi4yNy4wLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPCEtLQ0KICAgIFBMQU4gJiBOQVJSQVRJVkU6DQogICAgMS4gTmFycmF0aXZlIFBsYW46DQogICAgICAgLSBJbnRyb2R1Y3Rpb246IE92ZXJ2aWV3IG9mIEluZm9ybWF0aW9uIEFycml2YWwgSHlwb3RoZXNpcyBhbmQgdGhlIHJvbGUgb2YgYWxnb3JpdGhtcyBpbiBGWCBtYXJrZXRzLg0KICAgICAgIC0gU2VjdGlvbiAxOiBSYW5raW5nIG9mIHRvcCA1IG1hY3JvIGluZGljYXRvcnMgYnkgYXZlcmFnZSBwaXBzIG1vdmVtZW50Lg0KICAgICAgIC0gU2VjdGlvbiAyOiBWb2xhdGlsaXR5IER5bmFtaWNzIChDbHVzdGVyaW5nIGFuZCBEZWNheSkgc2hvd2luZyBob3cgbWFya2V0cyBwcm9jZXNzIG5ld3Mgb3ZlciA2MCBtaW51dGVzLg0KICAgICAgIC0gU2VjdGlvbiAzOiBDcm9zcy1Bc3NldCBTZW5zaXRpdml0eSBmb2N1c2luZyBvbiBHb2xkIHZzIEZYIGZvciBORlAuDQogICAgICAgLSBTZWN0aW9uIDQ6IFRlY2huaWNhbCBSaXNrIGFuYWx5c2lzIChTcHJlYWQgZXhwYW5zaW9uIGFuZCBTbGlwcGFnZSkuDQogICAgICAgLSBDb25jbHVzaW9uOiBTdHJhdGVnaWMgdGFrZWF3YXlzIGZvciB0cmFkZXJzLg0KICAgIA0KICAgIDIuIFZpc3VhbGl6YXRpb24gU2VsZWN0aW9uOg0KICAgICAgIC0gSW5kaWNhdG9yIFJhbmtpbmc6IEhvcml6b250YWwgQmFyIENoYXJ0IChDaGFydC5qcykgLT4gQmVzdCBmb3IgY29tcGFyaW5nIHBpcHMgbWFnbml0dWRlcy4NCiAgICAgICAtIFZvbGF0aWxpdHkgRGVjYXk6IEFyZWEgQ2hhcnQgKENoYXJ0LmpzKSAtPiBWaXN1YWxpemVzIHRoZSBzaGFycCBzcGlrZSBhbmQgZXhwb25lbnRpYWwgZGVjYXkgb3ZlciB0aW1lLg0KICAgICAgIC0gQXNzZXQgQ29tcGFyaXNvbjogUmFkYXIgQ2hhcnQgKENoYXJ0LmpzKSAtPiBTaG93cyBob3cgZGlmZmVyZW50IHBhaXJzIHJlYWN0IHVuaXF1ZWx5IHRvIHRoZSBzYW1lIE5GUCBkYXRhLg0KICAgICAgIC0gU3ByZWFkIFNwaWtlczogU3RlcCBDaGFydCAoUGxvdGx5IHdpdGggQ2FudmFzKSAtPiBJbGx1c3RyYXRlcyB0aGUgZGlzY3JldGUganVtcCBpbiB0cmFuc2FjdGlvbiBjb3N0cyBhdCB0PTAuDQogICAgICAgLSBHb2xkIFZvbGF0aWxpdHk6IExhcmdlIEtQSSBzdGF0cyAtPiBIaWdobGlnaHRzIGV4dHJlbWUgdm9sYXRpbGl0eSBmb3IgWEFVL1VTRC4NCg0KICAgIDMuIE5PIFNWRyAmIE5PIE1FUk1BSUQgSlMgQ09ORklSTUFUSU9OOg0KICAgICAgIC0gVGhpcyBmaWxlIGNvbnRhaW5zIFpFUk8gU1ZHIGVsZW1lbnRzLiBBbGwgZ3JhcGhpY3MgYXJlIENhbnZhcy1iYXNlZCAoQ2hhcnQuanMvUGxvdGx5KSBvciBwdXJlIEhUTUwvVGFpbHdpbmQuDQogICAgICAgLSBOTyBNZXJtYWlkIEpTIGlzIHVzZWQuIEZsb3ctbGlrZSBzdHJ1Y3R1cmVzIGFyZSBidWlsdCB3aXRoIFRhaWx3aW5kIHV0aWxpdHkgY2xhc3Nlcy4NCiAgICAgICANCiAgICA0LiBQQUxFVFRFOiBCcmlsbGlhbnQgQmx1ZXMgJiBWaWJyYW50IEFjY2VudHMNCiAgICAgICAtIEJhY2tncm91bmQ6ICNGMUY1RjkgKFNsYXRlIDEwMCkNCiAgICAgICAtIFByaW1hcnk6ICMyNTYzRUIgKEJsdWUgNjAwKQ0KICAgICAgIC0gU2Vjb25kYXJ5OiAjMDg5MUIyIChDeWFuIDYwMCkNCiAgICAgICAtIEFjY2VudDogI0Y1OUUwQiAoQW1iZXIgNTAwKQ0KICAgICAgIC0gSGlnaGxpZ2h0OiAjOEI1Q0Y2IChWaW9sZXQgNTAwKQ0KICAgICAgIC0gQ29udHJhc3Q6ICMxRTI5M0IgKFNsYXRlIDgwMCkNCiAgICAtLT4NCiAgICA8c3R5bGU+DQogICAgICAgIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRANDAwOzYwMDs3MDA7ODAwJmZhbWlseT1Ob3RvK1NhbnMrSlA6d2dodEA0MDA7NzAwJmRpc3BsYXk9c3dhcCcpOw0KICAgICAgICBib2R5IHsgZm9udC1mYW1pbHk6ICdJbnRlcicsICdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGNUY5OyBjb2xvcjogIzFFMjkzQjsgfQ0KICAgICAgICAuY2hhcnQtY29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA3MDBweDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgaGVpZ2h0OiAzNTBweDsgbWF4LWhlaWdodDogNDAwcHg7IH0NCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7IC5jaGFydC1jb250YWluZXIgeyBoZWlnaHQ6IDQwMHB4OyB9IH0NCiAgICAgICAgLnN0YXQtY2FyZCB7IGJvcmRlci10b3A6IDRweCBzb2xpZCAjMjU2M0VCOyB9DQogICAgICAgIC5hY2NlbnQtYm9yZGVyIHsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjRjU5RTBCOyB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJhbnRpYWxpYXNlZCI+DQoNCiAgICA8aGVhZGVyIGNsYXNzPSJiZy1ncmFkaWVudC10by1yIGZyb20tc2xhdGUtOTAwIHZpYS1ibHVlLTkwMCB0by1pbmRpZ28tOTAwIHRleHQtd2hpdGUgcHktMTYgcHgtNiI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBteC1hdXRvIHRleHQtY2VudGVyIG1heC13LTR4bCI+DQogICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtNHhsIG1kOnRleHQtNnhsIGZvbnQtZXh0cmFib2xkIG1iLTYgbGVhZGluZy10aWdodCI+6YeN6KaB57WM5riI5oyH5qiZ44GoPGJyPuS+oeagvOWkieWLleOBruWumumHj+eahOWIhuaekDwvaDE+DQogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1sZyBtZDp0ZXh0LXhsIHRleHQtYmx1ZS0xMDAgb3BhY2l0eS05MCBsZWFkaW5nLXJlbGF4ZWQgbWItOCI+DQogICAgICAgICAgICAgICAg5LiW55WM5Lit44Gu44Ki44Or44K044Oq44K644Og44GM556s5pmC44Gr5Y+N5b+c44GZ44KL44Oe44Kv44Ot5oyH5qiZ44CC55m66KGo55u05b6M44Gu44CM44K144OX44Op44Kk44K644CN44GM44Gp44Gu44KI44GG44GrcGlwc+WkieWLleOBuOWkieaPm+OBleOCjOOAgeODiOODrOODs+ODieOCkuW9ouaIkOOBmeOCi+OBruOBi+OAguOCt+OCueODhuODoOODiOODrOODvOODgOODvOOBruimlueCueOBi+OCieOBneOBruaguOW/g+OCkuino+aYjuOBl+OBvuOBmeOAgg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtNCBnYXAtNCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUvMTAgYmFja2Ryb3AtYmx1ci1tZCByb3VuZGVkLWxnIHAtNCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCI+MTUwKzwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1ibHVlLTIwMCI+TWF4IHBpcHMgKEZYKTwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlLzEwIGJhY2tkcm9wLWJsdXItbWQgcm91bmRlZC1sZyBwLTQiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAiPjEsMDAwKzwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1ibHVlLTIwMCI+TWF4IHBpcHMgKEdvbGQpPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUvMTAgYmFja2Ryb3AtYmx1ci1tZCByb3VuZGVkLWxnIHAtNCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCI+NTBtczwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1ibHVlLTIwMCI+VGFyZ2V0IExhdGVuY3k8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZS8xMCBiYWNrZHJvcC1ibHVyLW1kIHJvdW5kZWQtbGcgcC00Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIj4xMHg8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtYmx1ZS0yMDAiPlNwcmVhZCBTcGlrZTwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvaGVhZGVyPg0KDQogICAgPG1haW4gY2xhc3M9ImNvbnRhaW5lciBteC1hdXRvIHB4LTQgcHktMTIiPg0KICAgICAgICANCiAgICAgICAgPHNlY3Rpb24gaWQ9InJhbmtpbmciIGNsYXNzPSJtYi0yMCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXgtdy0zeGwgbWItMTAiPg0KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtODAwIG1iLTQgZmxleCBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idy04IGgtOCBiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtci0zIHRleHQtbGciPjE8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIOODnuODvOOCseODg+ODiOODu+OCpOODs+ODkeOCr+ODiOODu+ODqeODs+OCreODs+OCsA0KICAgICAgICAgICAgICAgIDwvaDI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOS4u+imgemAmuiyqOODmuOCouOBq+OBiuOBkeOCi+OAgeaMh+aomeeZuuihqOW+jDHmmYLplpPku6XlhoXjga7mrbTlj7LnmoTjgarlubPlnYfkvqHmoLzlpInli5XluYXvvIhwaXBz77yJ44Gr5Z+644Gl44GP44Op44Oz44Kt44Oz44Kw44Gn44GZ44CC5Lit5aSu6YqA6KGM44Gu5pS/562W5rG65a6a44Gv44CB6YeR5Yip5beu44Go44GE44GG54K65pu/44Gu5qC55rqQ55qE5L6h5YCk44KS5aGX44KK5pu/44GI44KL44Gf44KB44CB5Zyn5YCS55qE44Gq44Kk44Oz44OR44Kv44OI44KS6KqH44KK44G+44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTMgZ2FwLTggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZzpjb2wtc3Bhbi0yIGJnLXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBzaGFkb3ctc20gYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0icmFua2luZ0NoYXJ0Ij48L2NhbnZhcz4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2UteS00Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1jYXJkIGJnLXdoaXRlIHAtNSByb3VuZGVkLXhsIHNoYWRvdy1zbSBmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJsYWNrIHRleHQtYmx1ZS02MDAiPjAxPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtc2xhdGUtODAwIj7mlL/nrZbph5HliKnjg7vlo7DmmI48L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwIGl0YWxpYyI+5bmz5Z2HIDE1MCBwaXBzPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwIG10LTEiPuODiOODrOODs+ODiei7ouaPm+OBruacgOWkp+OBruODiOODquOCrOODvOOAguWjsOaYjuOBrue0sOmDqOOBvuOBp+OCouODq+OCtOODquOCuuODoOOBjOino+aekOOAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1jYXJkIGJnLXdoaXRlIHAtNSByb3VuZGVkLXhsIHNoYWRvdy1zbSBib3JkZXItdC1jeWFuLTYwMCBmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJsYWNrIHRleHQtY3lhbi02MDAiPjAyPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtc2xhdGUtODAwIj7nsbPlm73pm4fnlKjntbHoqIggKE5GUCk8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNTAwIGl0YWxpYyI+5bmz5Z2HIDgwIHBpcHM8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS00MDAgbXQtMSI+44CM44Kt44Oz44Kw44O744Kq44OW44O744Kk44Oz44K444Kx44O844K/44O844CN44CC5LiW55WM5Lit44Gu5YWo44OI44Os44O844OA44O844GM5ZCM5pmC44Gr5rOo5paH44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNhcmQgYmctd2hpdGUgcC01IHJvdW5kZWQteGwgc2hhZG93LXNtIGJvcmRlci10LWFtYmVyLTUwMCBmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJsYWNrIHRleHQtYW1iZXItNTAwIj4wMzwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LXNsYXRlLTgwMCI+5raI6LK76ICF54mp5L6h5oyH5pWwIChDUEkpPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTUwMCBpdGFsaWMiPuW5s+WdhyA2MCBwaXBzPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwIG10LTEiPuOCpOODs+ODleODrOWLleWQkeOCkua4rOOCi+acgOmHjeimgeaMh+aomeOAgui/keW5tOOAgemHjeimgeaAp+OBjOaApeS4iuaYh+S4reOAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPHNlY3Rpb24gaWQ9ImR5bmFtaWNzIiBjbGFzcz0ibWItMjAiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctM3hsIG1iLTEwIj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTgwMCBtYi00IGZsZXggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctOCBoLTggYmctYmx1ZS02MDAgdGV4dC13aGl0ZSByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMyB0ZXh0LWxnIj4yPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICDjg5zjg6njg4bjgqPjg6rjg4bjgqPjga7mmYLplpPnmoTmuJvoobAgKERlY2F5KQ0KICAgICAgICAgICAgICAgIDwvaDI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgIOe1jOa4iOaMh+aomeOBrueZuuihqOOBr+OAjOS4jeeiuuWun+aAp+OBruino+a2iOOAjeOBp+OCguOBguOCiuOBvuOBmeOAgueZuuihqOebtOW+jOOBruaVsOWIhumWk+OBr+OCouODq+OCtOODquOCuuODoOOBruazqOaWh+OBjOauuuWIsOOBl+ODnOODqeODhuOCo+ODquODhuOCo+OBjOeIhueZuu+8iOOCr+ODqeOCueOCv+ODquODs+OCsO+8ieOBl+OBvuOBmeOBjOOAgeaZgumWk+OBrue1jOmBjuOBqOOBqOOCguOBq+aDheWgseOBr+S+oeagvOOBq+e5lOOCiui+vOOBvuOCjOOAgeODnOODqeODhuOCo+ODquODhuOCo+OBr+aMh+aVsOmWouaVsOeahOOBq+a4m+ihsOOBl+OBvuOBmeOAgg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZSBwLTggcm91bmRlZC0yeGwgc2hhZG93LXNtIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIgIW1heC13LWZ1bGwgaC1bNDAwcHhdIj4NCiAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0iZGVjYXlDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtOCBncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC02Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjZW50LWJvcmRlciBwbC00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0idGV4dC1zbSBmb250LWJvbGQgdGV4dC1zbGF0ZS04MDAgbWItMSI+MC015YiGOiDmt7fkubHmnJ8gKFdoaXBzYXcpPC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj7mlrnlkJHmhJ/jga7jgarjgYTkubHpq5jkuIvjgYznmbrnlJ/jgIJIRlTvvIjpq5jpoLvluqblj5blvJXvvInjgYzmtYHli5XmgKfjgpLlparjgYTlkIjjgYbmmYLplpPluK/jgII8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NlbnQtYm9yZGVyIHBsLTQgYm9yZGVyLWwtY3lhbi02MDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0ZXh0LXNtIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTgwMCBtYi0xIj4xNS0zMOWIhjog5a6a552A5pyfPC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj7jgrXjg5fjg6njgqTjgrrjga7mnKzos6rjgYznkIbop6PjgZXjgozjgIHkuLvopoHjgarjg4jjg6zjg7Pjg4nmlrnlkJHjgYznorrnq4vjgZXjgozjgovjgII8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NlbnQtYm9yZGVyIHBsLTQgYm9yZGVyLWwtdmlvbGV0LTUwMCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InRleHQtc20gZm9udC1ib2xkIHRleHQtc2xhdGUtODAwIG1iLTEiPjYw5YiG5Lul6ZmNOiDlj47mnZ/mnJ88L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAiPuS4jeeiuuWun+aAp+OBjOaJleaLreOBleOCjOOAgeODnOODqeODhuOCo+ODquODhuOCo+aKkeWItuWKueaenOOBq+OCiOOCiuW4guWgtOOBr+mdmeepj+WMluOBmeOCi+OAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDxzZWN0aW9uIGlkPSJhc3NldHMiIGNsYXNzPSJtYi0yMCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0yIGdhcC0xMiBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtODAwIG1iLTQgZmxleCBpdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctOCBoLTggYmctYmx1ZS02MDAgdGV4dC13aGl0ZSByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMyB0ZXh0LWxnIj4zPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAg6LOH55Sj5Yil44Gu5Y+N5b+c5oSf5bqm5YiG5p6QDQogICAgICAgICAgICAgICAgICAgIDwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi02IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICDlkIzjgZjntYzmuIjmjIfmqJnjgafjgoLjgIHos4fnlKPjgq/jg6njgrnjgavjgojjgaPjgablj43lv5zjga7lvLfjgZXjga/lpKfjgY3jgY/nlbDjgarjgorjgb7jgZnjgILnibnjgavjgIzph5HvvIhYQVUvVVNE77yJ44CN44Gv57Gz44OJ44Or44Go44Gu6YCG55u46Zai44GM5by344GP44CB5rOV5a6a6YCa6LKo44Oa44Ki44Gu5pWw5YCN44GucGlwc+WkieWLleOCkuW8leOBjei1t+OBk+OBmeOBk+OBqOOBjOePjeOBl+OBj+OBguOCiuOBvuOBm+OCk+OAgg0KICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ibHVlLTUwIHAtNCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYmx1ZS0xMDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWJsdWUtNjAwIHVwcGVyY2FzZSB0cmFja2luZy10aWdodGVyIj5Hb2xkIHZzIEZYPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIG10LTEiPumbh+eUqOe1seioiOeZuuihqOaZguOAgUVVUi9VU0TjgYw4MHBpcHPli5XjgY/pmpvjgIFHb2xk44GvNTAw44CcODAwcGlwc++8iCQ1MOOAnCQ4MO+8ieWLleOBj+WCvuWQkeOBq+OBguOCiuOBvuOBmeOAgjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctY3lhbi01MCBwLTQgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWN5YW4tMTAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdGV4dC1jeWFuLTYwMCB1cHBlcmNhc2UgdHJhY2tpbmctdGlnaHRlciI+Q29ycmVsYXRpb24gSW5zaWdodDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCBtdC0xIj5VU0QvSlBZ44Gv57Gz5Zu95YK15Yip5Zue44KK44Gr5qW144KB44Gm5pWP5oSf44Gn44GC44KK44CBQ1BJ44Gu5pWw5YCk44Gr5Y2z5bqn44Gr5Y+N5b+c44GX44Kt44Oj44Oq44O844OI44Os44O844OJ44KS5YaN57eo44GX44G+44GZ44CCPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBzaGFkb3ctc20gYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBpZD0icmFkYXJDaGFydCI+PC9jYW52YXM+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8c2VjdGlvbiBpZD0iZXhlY3V0aW9uIiBjbGFzcz0ibWItMjAiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctM3hsIG1iLTEwIj4NCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTgwMCBtYi00IGZsZXggaXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctOCBoLTggYmctYmx1ZS02MDAgdGV4dC13aGl0ZSByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMyB0ZXh0LWxnIj40PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICDln7fooYzjg6rjgrnjgq/jgajjg57jg7zjgrHjg4Pjg4jjg7vjg57jgqTjgq/jg63mp4vpgKANCiAgICAgICAgICAgICAgICA8L2gyPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgICAgICAgICDlrprph4/nmoTliIbmnpDjgavjgYrjgYTjgabopovokL3jgajjgZvjgarjgYTjga7jgYzjgIzjgrnjg5fjg6zjg4Pjg4njgI3jgafjgZnjgILmjIfmqJnnmbrooajjga7nnqzplpPjgIHjg6rjgq/jgqTjg4fjgqPjg4bjgqPjg7vjg5fjg63jg5DjgqTjg4Djg7zjga/jg6rjgrnjgq/lm57pgb/jga7jgZ/jgoHmj5DnpLrkvqHmoLzjgpLluoPjgZLjgb7jgZnjgILlubPmmYIwLjNwaXBz44Gu6YCa6LKo44Oa44Ki44GM44CB556s6ZaT55qE44GrMjBwaXBz44G+44Gn5ouh5aSn44GZ44KL44CM5rWB5YuV5oCn44Gu56m655m944CN44Gv44CB44K344K544OG44Og44OI44Os44O844OA44O844Gr44Go44Gj44Gm5pyA5aSn44Gu5pW144Go44Gq44KK44G+44GZ44CCDQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXNsYXRlLTkwMCBwLTggcm91bmRlZC0yeGwgc2hhZG93LTJ4bCB0ZXh0LXdoaXRlIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzcHJlYWRDaGFydCIgY2xhc3M9InctZnVsbCBoLVszMDBweF0iPjwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTggZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGJnLXdoaXRlLzUgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMCBnYXAtNiI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1kOnRleHQtbGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHRleHQtYmx1ZS00MDAgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgbWItMSI+RXhlY3V0aW9uIFJpc2s8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCI+44K544Oq44OD44Oa44O844K45pCN5aSx44Gu5pyA5bCP5YyWPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBnYXAtNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgYmctc2xhdGUtODAwIHB4LTQgcHktMiByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctMiBoLTIgYmctYW1iZXItNTAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLXB1bHNlIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbSBmb250LW1lZGl1bSI+RklYIEFQSeaOqOWlqDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIGJnLXNsYXRlLTgwMCBweC00IHB5LTIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLXB1bHNlIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbSBmb250LW1lZGl1bSI+Tlk0IOOCs+ODreOCseODvOOCt+ODp+ODszwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICA8L21haW4+DQoNCiAgICA8Zm9vdGVyIGNsYXNzPSJiZy1zbGF0ZS05MDAgdGV4dC1zbGF0ZS00MDAgcHktMTIgcHgtNiBib3JkZXItdCBib3JkZXItc2xhdGUtODAwIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIG14LWF1dG8gbWF4LXctNHhsIHRleHQtY2VudGVyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgaXRhbGljIHRyYWNraW5nLXRpZ2h0ZXIiPiJTdXJwcmlzZSBkZXRlcm1pbmVzIHRoZSB0cmVuZCwgTGlxdWlkaXR5IGRldGVybWluZXMgdGhlIHByb2ZpdC4iPC9kaXY+DQogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSBtYi04IGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICAgICAg5pys44Os44Od44O844OI44Gv5q205Y+y55qE57Wx6KiI44Gr5Z+644Gl44GP5YiG5p6Q44Gn44GC44KK44CB5bCG5p2l44Gu5L6h5qC85aSJ5YuV44KS5L+d6Ki844GZ44KL44KC44Gu44Gn44Gv44GC44KK44G+44Gb44KT44CC6YeR6J6N5biC5aC044Gr44Gv6auY44GE44Oq44K544Kv44GM5Ly044GE44G+44GZ44CC5ZCE5oyH5qiZ44Gu6Kej6YeI44Gv44CB44Gd44Gu5pmC54K544Gn44Gu44Oe44Kv44Ot57WM5riI44Os44K444O844Og77yI44Kk44Oz44OV44Os5pyf44CB5YGc5rue5pyf44Gq44Gp77yJ44Gr44KI44Gj44Gm5YuV55qE44Gr5aSJ5YyW44GX44G+44GZ44CCDQogICAgICAgICAgICA8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZm9vdGVyPg0KDQogICAgPHNjcmlwdD4NCiAgICAgICAgLy8gLS0tIFVUSUxJVElFUyAtLS0NCiAgICAgICAgY29uc3Qgd3JhcExhYmVsID0gKGxhYmVsKSA9PiB7DQogICAgICAgICAgICBpZiAodHlwZW9mIGxhYmVsICE9PSAnc3RyaW5nJykgcmV0dXJuIGxhYmVsOw0KICAgICAgICAgICAgaWYgKGxhYmVsLmxlbmd0aCA8PSAxNikgcmV0dXJuIGxhYmVsOw0KICAgICAgICAgICAgY29uc3Qgd29yZHMgPSBsYWJlbC5zcGxpdCgnICcpOw0KICAgICAgICAgICAgbGV0IGxpbmVzID0gW107DQogICAgICAgICAgICBsZXQgY3VycmVudExpbmUgPSAnJzsNCiAgICAgICAgICAgIHdvcmRzLmZvckVhY2god29yZCA9PiB7DQogICAgICAgICAgICAgICAgaWYgKChjdXJyZW50TGluZSArIHdvcmQpLmxlbmd0aCA+IDE2KSB7DQogICAgICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goY3VycmVudExpbmUudHJpbSgpKTsNCiAgICAgICAgICAgICAgICAgICAgY3VycmVudExpbmUgPSB3b3JkICsgJyAnOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGN1cnJlbnRMaW5lICs9IHdvcmQgKyAnICc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBsaW5lcy5wdXNoKGN1cnJlbnRMaW5lLnRyaW0oKSk7DQogICAgICAgICAgICByZXR1cm4gbGluZXM7DQogICAgICAgIH07DQoNCiAgICAgICAgY29uc3QgY29tbW9uVG9vbHRpcCA9IHsNCiAgICAgICAgICAgIGNhbGxiYWNrczogew0KICAgICAgICAgICAgICAgIHRpdGxlOiBmdW5jdGlvbih0b29sdGlwSXRlbXMpIHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRvb2x0aXBJdGVtc1swXTsNCiAgICAgICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gaXRlbS5jaGFydC5kYXRhLmxhYmVsc1tpdGVtLmRhdGFJbmRleF07DQogICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxhYmVsKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsLmpvaW4oJyAnKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICAvLyAtLS0gQ0hBUlQgMTogUkFOS0lORyAtLS0NCiAgICAgICAgY29uc3QgY3R4UmFua2luZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYW5raW5nQ2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4UmFua2luZywgew0KICAgICAgICAgICAgdHlwZTogJ2JhcicsDQogICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgbGFiZWxzOiBbJ+aUv+etlumHkeWIqeeZuuihqOODu+WjsOaYjicsICfnsbPlm73pnZ7ovrLmpa3pg6jploDpm4fnlKjogIXmlbAnLCAn5raI6LK76ICF54mp5L6h5oyH5pWwJywgJ+WbveWGhee3j+eUn+eUoycsICfos7zosrfmi4XlvZPogIXmma/msJfmjIfmlbAnXS5tYXAod3JhcExhYmVsKSwNCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sNCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICflubPlnYflpInli5XluYUgKHBpcHMpJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzE1MCwgODAsIDYwLCA1MCwgNDBdLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICcjMjU2M0VCJywgJyMwODkxQjInLCAnI0Y1OUUwQicsICcjOEI1Q0Y2JywgJyM0NzU1NjknDQogICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogOCwNCiAgICAgICAgICAgICAgICAgICAgYmFyVGhpY2tuZXNzOiAzMg0KICAgICAgICAgICAgICAgIH1dDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIGluZGV4QXhpczogJ3knLA0KICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsDQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogew0KICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwNCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogY29tbW9uVG9vbHRpcA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7DQogICAgICAgICAgICAgICAgICAgIHg6IHsgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LCB0aWNrczogeyBmb250OiB7IHdlaWdodDogJ2JvbGQnIH0gfSB9LA0KICAgICAgICAgICAgICAgICAgICB5OiB7IGdyaWQ6IHsgZGlzcGxheTogZmFsc2UgfSwgdGlja3M6IHsgZm9udDogeyB3ZWlnaHQ6ICdib2xkJyB9IH0gfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgLy8gLS0tIENIQVJUIDI6IFZPTEFUSUxJVFkgREVDQVkgLS0tDQogICAgICAgIGNvbnN0IGN0eERlY2F5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RlY2F5Q2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICBuZXcgQ2hhcnQoY3R4RGVjYXksIHsNCiAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICBsYWJlbHM6IFsn55m66KGo5YmNJywgJ3Q9MCcsICcx5YiGJywgJzXliIYnLCAnMTXliIYnLCAnMzDliIYnLCAnNjDliIYnXSwNCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sNCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfnm7jlr77nmoTjg5zjg6njg4bjgqPjg6rjg4bjgqPlvLfluqYnLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMTAsIDEwMCwgODUsIDQ1LCAyNSwgMTUsIDhdLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyMyNTYzRUInLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDM3LCA5OSwgMjM1LCAwLjEpJywNCiAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgdGVuc2lvbjogMC40LA0KICAgICAgICAgICAgICAgICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogJyNGNTlFMEInLA0KICAgICAgICAgICAgICAgICAgICBwb2ludFJhZGl1czogNg0KICAgICAgICAgICAgICAgIH1dDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsDQogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsDQogICAgICAgICAgICAgICAgcGx1Z2luczogew0KICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwNCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogY29tbW9uVG9vbHRpcA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7DQogICAgICAgICAgICAgICAgICAgIHk6IHsgDQogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSwgDQogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyBkaXNwbGF5OiBmYWxzZSB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBjb2xvcjogJ3JnYmEoMCwwLDAsMC4wNSknIH0NCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgeDogeyBncmlkOiB7IGRpc3BsYXk6IGZhbHNlIH0gfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgLy8gLS0tIENIQVJUIDM6IEFTU0VUIFJBREFSIC0tLQ0KICAgICAgICBjb25zdCBjdHhSYWRhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYWRhckNoYXJ0JykuZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgbmV3IENoYXJ0KGN0eFJhZGFyLCB7DQogICAgICAgICAgICB0eXBlOiAncmFkYXInLA0KICAgICAgICAgICAgZGF0YTogew0KICAgICAgICAgICAgICAgIGxhYmVsczogWydFVVIvVVNEJywgJ1VTRC9KUFknLCAnR0JQL1VTRCcsICdYQVUvVVNEIChHb2xkKScsICdBVUQvVVNEJ10sDQogICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgICAgICAgICAgIGxhYmVsOiAn5oyH5qiZ44Gr5a++44GZ44KL5Y+N5b+c5oSf5bqmICjnm7jlr77lgKQpJywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogWzY1LCA4MCwgNzUsIDEwMCwgNjBdLA0KICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwODkxQjInLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDgsIDE0NSwgMTc4LCAwLjIpJywNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6ICcjMDg5MUIyJywNCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDMNCiAgICAgICAgICAgICAgICB9XQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB0cnVlLA0KICAgICAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLA0KICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogY29tbW9uVG9vbHRpcA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2NhbGVzOiB7DQogICAgICAgICAgICAgICAgICAgIHI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlTGluZXM6IHsgY29sb3I6ICdyZ2JhKDAsMCwwLDAuMSknIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBncmlkOiB7IGNvbG9yOiAncmdiYSgwLDAsMCwwLjEpJyB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRMYWJlbHM6IHsgZm9udDogeyBzaXplOiAxMiwgd2VpZ2h0OiAnYm9sZCcgfSB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgdGlja3M6IHsgZGlzcGxheTogZmFsc2UgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICAvLyAtLS0gQ0hBUlQgNDogU1BSRUFEIFNQSUtFIChQTE9UTFkgQ0FOVkFTKSAtLS0NCiAgICAgICAgY29uc3Qgc3ByZWFkRGF0YSA9IHsNCiAgICAgICAgICAgIHg6IFstMTAsIC01LCAtMiwgMCwgMC4xLCAwLjUsIDEsIDIsIDUsIDEwLCAxNV0sIC8vIHNlY29uZHMgYXJvdW5kIHQ9MA0KICAgICAgICAgICAgeTogWzAuMywgMC4zLCAwLjUsIDE4LjUsIDIyLjAsIDE1LjAsIDguNSwgNC4yLCAxLjUsIDAuNiwgMC40XSwNCiAgICAgICAgICAgIHR5cGU6ICdzY2F0dGVyJywNCiAgICAgICAgICAgIG1vZGU6ICdsaW5lcyttYXJrZXJzJywNCiAgICAgICAgICAgIGxpbmU6IHsgc2hhcGU6ICd2aCcsIGNvbG9yOiAnI0Y1OUUwQicsIHdpZHRoOiA0IH0sDQogICAgICAgICAgICBtYXJrZXI6IHsgc2l6ZTogOCwgY29sb3I6ICcjRkZGRkZGJyB9LA0KICAgICAgICAgICAgZmlsbDogJ3RvemVyb3knLA0KICAgICAgICAgICAgZmlsbGNvbG9yOiAncmdiYSgyNDUsIDE1OCwgMTEsIDAuMSknDQogICAgICAgIH07DQoNCiAgICAgICAgY29uc3Qgc3ByZWFkTGF5b3V0ID0gew0KICAgICAgICAgICAgdGl0bGU6IHsgdGV4dDogJ+aMh+aomeeZuuihqOaZguOBruOCueODl+ODrOODg+ODieWkieWLlSAoRVVSL1VTRCknLCBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicsIHNpemU6IDE0IH0gfSwNCiAgICAgICAgICAgIHBhcGVyX2JnY29sb3I6ICdyZ2JhKDAsMCwwLDApJywNCiAgICAgICAgICAgIHBsb3RfYmdjb2xvcjogJ3JnYmEoMCwwLDAsMCknLA0KICAgICAgICAgICAgeGF4aXM6IHsgDQogICAgICAgICAgICAgICAgdGl0bGU6ICfnp5IgKHQ9MOOBjOeZuuihqOaZguWIuyknLCANCiAgICAgICAgICAgICAgICBjb2xvcjogJyM5NEEzQjgnLA0KICAgICAgICAgICAgICAgIGdyaWRjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC4xKScNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB5YXhpczogeyANCiAgICAgICAgICAgICAgICB0aXRsZTogJ+OCueODl+ODrOODg+ODiSAocGlwcyknLCANCiAgICAgICAgICAgICAgICBjb2xvcjogJyM5NEEzQjgnLA0KICAgICAgICAgICAgICAgIGdyaWRjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC4xKScsDQogICAgICAgICAgICAgICAgcmFuZ2U6IFswLCAyNV0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBtYXJnaW46IHsgdDogNDAsIGI6IDQwLCBsOiA1MCwgcjogMjAgfSwNCiAgICAgICAgICAgIHNob3dsZWdlbmQ6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgUGxvdGx5Lm5ld1Bsb3QoJ3NwcmVhZENoYXJ0JywgW3NwcmVhZERhdGFdLCBzcHJlYWRMYXlvdXQsIHsNCiAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsDQogICAgICAgICAgICBkaXNwbGF5TW9kZUJhcjogZmFsc2UsDQogICAgICAgICAgICBzdGF0aWNQbG90OiBmYWxzZSwNCiAgICAgICAgICAgIGNhbnZhczogdHJ1ZSAvLyBNQU5EQVRPUlkgQ0FOVkFTIFJFTkRFUklORw0KICAgICAgICB9KTsNCiAgICA8L3NjcmlwdD4NCg0KPHNjcmlwdD4NCihmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KDQogICAgdmFyIEZSQU1FX0lEID0gImZ4Y29tcC1odG1sLWZyYW1lLWU4MmY0ZGYxLWI0MTktNDZjOS1hZjdkLTc4YjBhMDkzYWRhOCI7DQogICAgdmFyIHRpbWVyID0gbnVsbDsNCg0KICAgIGZ1bmN0aW9uIGdldEhlaWdodCgpIHsNCiAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5ib2R5Ow0KICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsNCg0KICAgICAgICBpZiAoIWIgfHwgIWUpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgLyoNCiAgICAgICAgICog6YeN6KaBOg0KICAgICAgICAgKiBjbGllbnRIZWlnaHQgLyBvZmZzZXRIZWlnaHQg44Gv54++5Zyo44GuaWZyYW1l6auY44GV44KS5ou+44GE44KE44GZ44GP44CBDQogICAgICAgICAqIOS4gOW6puOCueODnuODm+W5heOBp+Wkp+OBjeOBj+OBquOBo+OBn+mrmOOBleOBjOaIu+OCieOBquOBhOWOn+WboOOBq+OBquOCi+OAgg0KICAgICAgICAgKiDjgZ3jga7jgZ/jgoHjgIHlrp/jgrPjg7Pjg4bjg7Pjg4Tlr4Tjgorjga4gc2Nyb2xsSGVpZ2h0IC8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0IOOCkuS4reW/g+OBq+a4rOOCi+OAgg0KICAgICAgICAgKi8NCiAgICAgICAgdmFyIGJvZHlSZWN0ID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogeyBoZWlnaHQ6IDAgfTsNCiAgICAgICAgdmFyIGh0bWxSZWN0ID0gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogeyBoZWlnaHQ6IDAgfTsNCg0KICAgICAgICB2YXIgY2FuZGlkYXRlcyA9IFsNCiAgICAgICAgICAgIGIuc2Nyb2xsSGVpZ2h0IHx8IDAsDQogICAgICAgICAgICBlLnNjcm9sbEhlaWdodCB8fCAwLA0KICAgICAgICAgICAgTWF0aC5jZWlsKGJvZHlSZWN0LmhlaWdodCB8fCAwKSwNCiAgICAgICAgICAgIE1hdGguY2VpbChodG1sUmVjdC5oZWlnaHQgfHwgMCkNCiAgICAgICAgXTsNCg0KICAgICAgICB2YXIgaCA9IDA7DQoNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYW5kaWRhdGVzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICBpZiAoY2FuZGlkYXRlc1tpXSA+IGgpIHsNCiAgICAgICAgICAgICAgICBoID0gY2FuZGlkYXRlc1tpXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBoOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHNlbmRIZWlnaHQoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgaCA9IGdldEhlaWdodCgpOw0KDQogICAgICAgICAgICBpZiAoaCA+IDAgJiYgd2luZG93LnBhcmVudCkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAiZnhjb21wLWh0bWwtaWZyYW1lLWhlaWdodCIsDQogICAgICAgICAgICAgICAgICAgIGZyYW1lSWQ6IEZSQU1FX0lELA0KICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGgNCiAgICAgICAgICAgICAgICB9LCAiKiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHNlbmRIZWlnaHRTb29uKCkgew0KICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpOw0KDQogICAgICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNlbmRIZWlnaHQpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBzZW5kSGVpZ2h0KCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIDMwKTsNCiAgICB9DQoNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHNlbmRIZWlnaHRTb29uKTsNCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgc2VuZEhlaWdodFNvb24pOw0KDQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICAgICAgdmFyIGRhdGEgPSBldmVudC5kYXRhIHx8IHt9Ow0KDQogICAgICAgIGlmICghZGF0YSB8fCBkYXRhLnR5cGUgIT09ICJmeGNvbXAtaHRtbC1pZnJhbWUtbWVhc3VyZSIpIHsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChkYXRhLmZyYW1lSWQgIT09IEZSQU1FX0lEKSB7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBzZW5kSGVpZ2h0U29vbigpOw0KICAgIH0pOw0KDQogICAgaWYgKCJSZXNpemVPYnNlcnZlciIgaW4gd2luZG93KSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoc2VuZEhlaWdodFNvb24pOw0KDQogICAgICAgICAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7DQogICAgICAgICAgICAgICAgcm8ub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoZG9jdW1lbnQuYm9keSkgew0KICAgICAgICAgICAgICAgIHJvLm9ic2VydmUoZG9jdW1lbnQuYm9keSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHt9DQogICAgfQ0KDQogICAgaWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLnJlYWR5KSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKHNlbmRIZWlnaHRTb29uKTsNCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9DQoNCiAgICB2YXIgY291bnQgPSAwOw0KICAgIHZhciBpbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgc2VuZEhlaWdodFNvb24oKTsNCiAgICAgICAgY291bnQgKz0gMTsNCg0KICAgICAgICBpZiAoY291bnQgPiAyMCkgew0KICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7DQogICAgICAgIH0NCiAgICB9LCA1MDApOw0KDQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgNTApOw0KICAgIHNldFRpbWVvdXQoc2VuZEhlaWdodFNvb24sIDMwMCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMTAwMCk7DQogICAgc2V0VGltZW91dChzZW5kSGVpZ2h0U29vbiwgMjUwMCk7DQp9KSgpOw0KPC9zY3JpcHQ+CjwvYm9keT4NCjwvaHRtbD4=</script>

            <script>
            (function () {
                "use strict";

                var FRAME_ID = "fxcomp-html-frame-e82f4df1-b419-46c9-af7d-78b0a093ada8";
                var SOURCE_ID = "fxcomp-html-frame-e82f4df1-b419-46c9-af7d-78b0a093ada8-source";
                var MIN_HEIGHT = 900;

                var iframe = document.getElementById(FRAME_ID);
                var source = document.getElementById(SOURCE_ID);

                if (!iframe || !source) {
                    return;
                }

                var resizeTimer = null;

                function b64ToUtf8(b64) {
                    var binary = window.atob(b64);

                    if (window.TextDecoder) {
                        var bytes = new Uint8Array(binary.length);

                        for (var i = 0; i < binary.length; i++) {
                            bytes[i] = binary.charCodeAt(i);
                        }

                        return new TextDecoder("utf-8").decode(bytes);
                    }

                    try {
                        return decodeURIComponent(escape(binary));
                    } catch (e) {
                        return binary;
                    }
                }

                function setFrameHeight(height) {
                    height = parseInt(height, 10);

                    if (!height || height < MIN_HEIGHT) {
                        height = MIN_HEIGHT;
                    }

                    var current = parseInt(iframe.style.height, 10) || 0;

                    if (Math.abs(current - height) > 2) {
                        iframe.style.height = height + "px";
                    }
                }

                function sendMeasureRequest() {
                    try {
                        if (iframe.contentWindow) {
                            iframe.contentWindow.postMessage({
                                type: "fxcomp-html-iframe-measure",
                                frameId: FRAME_ID
                            }, "*");
                        }
                    } catch (e) {}
                }

                function requestMeasure(shrinkFirst) {
                    /*
                     * 重要:
                     * 一度スマホ幅で縦長になったiframeを、PC幅に戻す時に縮めるため、
                     * 再計測前にいったん最小高さへ戻す。
                     */
                    if (shrinkFirst) {
                        iframe.style.height = MIN_HEIGHT + "px";
                    }

                    sendMeasureRequest();
                    setTimeout(sendMeasureRequest, 60);
                    setTimeout(sendMeasureRequest, 180);
                    setTimeout(sendMeasureRequest, 500);
                    setTimeout(sendMeasureRequest, 1000);
                }

                window.addEventListener("message", function (event) {
                    var data = event.data || {};

                    if (!data || data.type !== "fxcomp-html-iframe-height") {
                        return;
                    }

                    if (data.frameId !== FRAME_ID) {
                        return;
                    }

                    setFrameHeight(data.height);
                });

                window.addEventListener("resize", function () {
                    clearTimeout(resizeTimer);

                    resizeTimer = setTimeout(function () {
                        requestMeasure(true);
                    }, 160);
                });

                window.addEventListener("orientationchange", function () {
                    setTimeout(function () {
                        requestMeasure(true);
                    }, 250);
                });

                iframe.addEventListener("load", function () {
                    requestMeasure(true);
                    setTimeout(function () { requestMeasure(true); }, 300);
                    setTimeout(function () { requestMeasure(true); }, 1000);
                    setTimeout(function () { requestMeasure(true); }, 2500);
                });

                var b64 = source.textContent.replace(/\s+/g, "");
                var html = b64ToUtf8(b64);

                setFrameHeight(MIN_HEIGHT);

                if ("srcdoc" in iframe) {
                    iframe.srcdoc = html;
                } else if (iframe.contentWindow && iframe.contentWindow.document) {
                    var doc = iframe.contentWindow.document;
                    doc.open();
                    doc.write(html);
                    doc.close();
                }

                requestMeasure(true);
                setTimeout(function () { requestMeasure(true); }, 300);
                setTimeout(function () { requestMeasure(true); }, 1000);
            })();
            </script>
        </div><p>The post <a href="https://fxcomp.net/important_info-1751">重要経済指標定量的分析インフォグラフィック</a> first appeared on <a href="https://fxcomp.net">FxComp BLOG</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://fxcomp.net/important_info-1751/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
