Skip to content

Instantly share code, notes, and snippets.

@suntong
Created May 1, 2021 19:24
Show Gist options
  • Save suntong/ad95e8ceae89b29ed53c6f9685fb8477 to your computer and use it in GitHub Desktop.
Save suntong/ad95e8ceae89b29ed53c6f9685fb8477 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: gocallvis Pages: 1 -->
<svg width="3269pt" height="4376pt"
viewBox="0.00 0.00 3268.68 4376.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 4376)">
<title>gocallvis</title>
<polygon fill="lightgray" stroke="transparent" points="0,0 0,-4376 3268.68,-4376 3268.68,0 0,0"/>
<text text-anchor="middle" x="86" y="-7.8" font-family="Arial" font-size="14.00">command&#45;line&#45;arguments</text>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="white" stroke="black" stroke-width="0.5" points="8,-31 8,-4368 3260.68,-4368 3260.68,-31 8,-31"/>
</g>
<g id="clust2" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat</title>
<g id="a_clust2"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="package: github.com/eatMoreApple/openwechat">
<polygon fill="lightyellow" stroke="black" stroke-width="0.8" points="16,-39 16,-4360 3252.68,-4360 3252.68,-39 16,-39"/>
<text text-anchor="middle" x="1634.34" y="-4343.2" font-family="Tahoma bold" font-size="16.00">openwechat</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Bot</title>
<g id="a_clust3"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Bot">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M36,-3923C36,-3923 1737.64,-3923 1737.64,-3923 1743.64,-3923 1749.64,-3929 1749.64,-3935 1749.64,-3935 1749.64,-4097 1749.64,-4097 1749.64,-4103 1743.64,-4109 1737.64,-4109 1737.64,-4109 36,-4109 36,-4109 30,-4109 24,-4103 24,-4097 24,-4097 24,-3935 24,-3935 24,-3929 30,-3923 36,-3923"/>
<text text-anchor="middle" x="886.82" y="-3932" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Bot)</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Caller</title>
<g id="a_clust4"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Caller">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1818.64,-2430C1818.64,-2430 2333.01,-2430 2333.01,-2430 2339.01,-2430 2345.01,-2436 2345.01,-2442 2345.01,-2442 2345.01,-3532 2345.01,-3532 2345.01,-3538 2339.01,-3544 2333.01,-3544 2333.01,-3544 1818.64,-3544 1818.64,-3544 1812.64,-3544 1806.64,-3538 1806.64,-3532 1806.64,-3532 1806.64,-2442 1806.64,-2442 1806.64,-2436 1812.64,-2430 1818.64,-2430"/>
<text text-anchor="middle" x="2075.83" y="-2439" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Caller)</text>
</a>
</g>
</g>
<g id="clust5" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Client</title>
<g id="a_clust5"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Client">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1853.3,-406C1853.3,-406 2591.42,-406 2591.42,-406 2597.42,-406 2603.42,-412 2603.42,-418 2603.42,-418 2603.42,-1813 2603.42,-1813 2603.42,-1819 2597.42,-1825 2591.42,-1825 2591.42,-1825 1853.3,-1825 1853.3,-1825 1847.3,-1825 1841.3,-1819 1841.3,-1813 1841.3,-1813 1841.3,-418 1841.3,-418 1841.3,-412 1847.3,-406 1853.3,-406"/>
<text text-anchor="middle" x="2222.36" y="-415" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Client)</text>
</a>
</g>
</g>
<g id="clust6" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Friend</title>
<g id="a_clust6"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Friend">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M750.02,-3058C750.02,-3058 880.62,-3058 880.62,-3058 886.62,-3058 892.62,-3064 892.62,-3070 892.62,-3070 892.62,-3428 892.62,-3428 892.62,-3434 886.62,-3440 880.62,-3440 880.62,-3440 750.02,-3440 750.02,-3440 744.02,-3440 738.02,-3434 738.02,-3428 738.02,-3428 738.02,-3070 738.02,-3070 738.02,-3064 744.02,-3058 750.02,-3058"/>
<text text-anchor="middle" x="815.32" y="-3067" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Friend)</text>
</a>
</g>
</g>
<g id="clust7" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Group</title>
<g id="a_clust7"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Group">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M748.37,-2222C748.37,-2222 882.27,-2222 882.27,-2222 888.27,-2222 894.27,-2228 894.27,-2234 894.27,-2234 894.27,-2653 894.27,-2653 894.27,-2659 888.27,-2665 882.27,-2665 882.27,-2665 748.37,-2665 748.37,-2665 742.37,-2665 736.37,-2659 736.37,-2653 736.37,-2653 736.37,-2234 736.37,-2234 736.37,-2228 742.37,-2222 748.37,-2222"/>
<text text-anchor="middle" x="815.32" y="-2231" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Group)</text>
</a>
</g>
</g>
<g id="clust8" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Message</title>
<g id="a_clust8"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Message">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M711.52,-1003C711.52,-1003 1445.19,-1003 1445.19,-1003 1451.19,-1003 1457.19,-1009 1457.19,-1015 1457.19,-1015 1457.19,-1752 1457.19,-1752 1457.19,-1758 1451.19,-1764 1445.19,-1764 1445.19,-1764 711.52,-1764 711.52,-1764 705.52,-1764 699.52,-1758 699.52,-1752 699.52,-1752 699.52,-1015 699.52,-1015 699.52,-1009 705.52,-1003 711.52,-1003"/>
<text text-anchor="middle" x="1078.35" y="-1012" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Message)</text>
</a>
</g>
</g>
<g id="clust9" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.ReturnResponse</title>
<g id="a_clust9"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.ReturnResponse">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M2527.86,-3109C2527.86,-3109 3144.48,-3109 3144.48,-3109 3150.48,-3109 3156.48,-3115 3156.48,-3121 3156.48,-3121 3156.48,-3235 3156.48,-3235 3156.48,-3241 3150.48,-3247 3144.48,-3247 3144.48,-3247 2527.86,-3247 2527.86,-3247 2521.86,-3247 2515.86,-3241 2515.86,-3235 2515.86,-3235 2515.86,-3121 2515.86,-3121 2515.86,-3115 2521.86,-3109 2527.86,-3109"/>
<text text-anchor="middle" x="2836.17" y="-3118" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*ReturnResponse)</text>
</a>
</g>
</g>
<g id="clust10" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.Self</title>
<g id="a_clust10"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.Self">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1000.12,-2372C1000.12,-2372 1724.44,-2372 1724.44,-2372 1730.44,-2372 1736.44,-2378 1736.44,-2384 1736.44,-2384 1736.44,-3413 1736.44,-3413 1736.44,-3419 1730.44,-3425 1724.44,-3425 1724.44,-3425 1000.12,-3425 1000.12,-3425 994.12,-3425 988.12,-3419 988.12,-3413 988.12,-3413 988.12,-2384 988.12,-2384 988.12,-2378 994.12,-2372 1000.12,-2372"/>
<text text-anchor="middle" x="1362.28" y="-2381" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*Self)</text>
</a>
</g>
</g>
<g id="clust11" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.SentMessage</title>
<g id="a_clust11"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.SentMessage">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M761.32,-3448C761.32,-3448 870.32,-3448 870.32,-3448 876.32,-3448 882.32,-3454 882.32,-3460 882.32,-3460 882.32,-3513 882.32,-3513 882.32,-3519 876.32,-3525 870.32,-3525 870.32,-3525 761.32,-3525 761.32,-3525 755.32,-3525 749.32,-3519 749.32,-3513 749.32,-3513 749.32,-3460 749.32,-3460 749.32,-3454 755.32,-3448 761.32,-3448"/>
<text text-anchor="middle" x="815.82" y="-3457" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*SentMessage)</text>
</a>
</g>
</g>
<g id="clust12" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.SyncCheckResponse</title>
<g id="a_clust12"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.SyncCheckResponse">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1618.59,-4169C1618.59,-4169 1966.3,-4169 1966.3,-4169 1972.3,-4169 1978.3,-4175 1978.3,-4181 1978.3,-4181 1978.3,-4295 1978.3,-4295 1978.3,-4301 1972.3,-4307 1966.3,-4307 1966.3,-4307 1618.59,-4307 1618.59,-4307 1612.59,-4307 1606.59,-4301 1606.59,-4295 1606.59,-4295 1606.59,-4181 1606.59,-4181 1606.59,-4175 1612.59,-4169 1618.59,-4169"/>
<text text-anchor="middle" x="1792.44" y="-4178" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*SyncCheckResponse)</text>
</a>
</g>
</g>
<g id="clust13" class="cluster">
<title>cluster_*github.com/eatMoreApple/openwechat.User</title>
<g id="a_clust13"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: *github.com/eatMoreApple/openwechat.User">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1600.99,-138C1600.99,-138 2010.3,-138 2010.3,-138 2016.3,-138 2022.3,-144 2022.3,-150 2022.3,-150 2022.3,-386 2022.3,-386 2022.3,-392 2016.3,-398 2010.3,-398 2010.3,-398 1600.99,-398 1600.99,-398 1594.99,-398 1588.99,-392 1588.99,-386 1588.99,-386 1588.99,-150 1588.99,-150 1588.99,-144 1594.99,-138 1600.99,-138"/>
<text text-anchor="middle" x="1805.65" y="-147" font-family="Tahoma bold" font-size="15.00" fill="#222222">(*User)</text>
</a>
</g>
</g>
<g id="clust14" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.BaseResponse</title>
<g id="a_clust14"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.BaseResponse">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M2785.37,-4188C2785.37,-4188 2897.37,-4188 2897.37,-4188 2903.37,-4188 2909.37,-4194 2909.37,-4200 2909.37,-4200 2909.37,-4314 2909.37,-4314 2909.37,-4320 2903.37,-4326 2897.37,-4326 2897.37,-4326 2785.37,-4326 2785.37,-4326 2779.37,-4326 2773.37,-4320 2773.37,-4314 2773.37,-4314 2773.37,-4200 2773.37,-4200 2773.37,-4194 2779.37,-4188 2785.37,-4188"/>
<text text-anchor="middle" x="2841.37" y="-4197" font-family="Tahoma bold" font-size="15.00" fill="#222222">(BaseResponse)</text>
</a>
</g>
</g>
<g id="clust15" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Friend</title>
<g id="a_clust15"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.Friend">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1619.89,-2287C1619.89,-2287 1671.99,-2287 1671.99,-2287 1677.99,-2287 1683.99,-2293 1683.99,-2299 1683.99,-2299 1683.99,-2352 1683.99,-2352 1683.99,-2358 1677.99,-2364 1671.99,-2364 1671.99,-2364 1619.89,-2364 1619.89,-2364 1613.89,-2364 1607.89,-2358 1607.89,-2352 1607.89,-2352 1607.89,-2299 1607.89,-2299 1607.89,-2293 1613.89,-2287 1619.89,-2287"/>
<text text-anchor="middle" x="1645.94" y="-2296" font-family="Tahoma bold" font-size="15.00" fill="#222222">(Friend)</text>
</a>
</g>
</g>
<g id="clust16" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Friends</title>
<g id="a_clust16"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.Friends">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M451.51,-3533C451.51,-3533 1206.08,-3533 1206.08,-3533 1212.08,-3533 1218.08,-3539 1218.08,-3545 1218.08,-3545 1218.08,-3903 1218.08,-3903 1218.08,-3909 1212.08,-3915 1206.08,-3915 1206.08,-3915 451.51,-3915 451.51,-3915 445.51,-3915 439.51,-3909 439.51,-3903 439.51,-3903 439.51,-3545 439.51,-3545 439.51,-3539 445.51,-3533 451.51,-3533"/>
<text text-anchor="middle" x="828.8" y="-3542" font-family="Tahoma bold" font-size="15.00" fill="#222222">(Friends)</text>
</a>
</g>
</g>
<g id="clust17" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Groups</title>
<g id="a_clust17"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.Groups">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M451.51,-152C451.51,-152 1206.08,-152 1206.08,-152 1212.08,-152 1218.08,-158 1218.08,-164 1218.08,-164 1218.08,-522 1218.08,-522 1218.08,-528 1212.08,-534 1206.08,-534 1206.08,-534 451.51,-534 451.51,-534 445.51,-534 439.51,-528 439.51,-522 439.51,-522 439.51,-164 439.51,-164 439.51,-158 445.51,-152 451.51,-152"/>
<text text-anchor="middle" x="828.8" y="-161" font-family="Tahoma bold" font-size="15.00" fill="#222222">(Groups)</text>
</a>
</g>
</g>
<g id="clust18" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.LoginInfo</title>
<g id="a_clust18"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.LoginInfo">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M2214.86,-3872C2214.86,-3872 2290.86,-3872 2290.86,-3872 2296.86,-3872 2302.86,-3878 2302.86,-3884 2302.86,-3884 2302.86,-3937 2302.86,-3937 2302.86,-3943 2296.86,-3949 2290.86,-3949 2290.86,-3949 2214.86,-3949 2214.86,-3949 2208.86,-3949 2202.86,-3943 2202.86,-3937 2202.86,-3937 2202.86,-3884 2202.86,-3884 2202.86,-3878 2208.86,-3872 2214.86,-3872"/>
<text text-anchor="middle" x="2252.86" y="-3881" font-family="Tahoma bold" font-size="15.00" fill="#222222">(LoginInfo)</text>
</a>
</g>
</g>
<g id="clust19" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Members</title>
<g id="a_clust19"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.Members">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M1294.23,-1897C1294.23,-1897 2033.4,-1897 2033.4,-1897 2039.4,-1897 2045.4,-1903 2045.4,-1909 2045.4,-1909 2045.4,-2267 2045.4,-2267 2045.4,-2273 2039.4,-2279 2033.4,-2279 2033.4,-2279 1294.23,-2279 1294.23,-2279 1288.23,-2279 1282.23,-2273 1282.23,-2267 1282.23,-2267 1282.23,-1909 1282.23,-1909 1282.23,-1903 1288.23,-1897 1294.23,-1897"/>
<text text-anchor="middle" x="1663.82" y="-1906" font-family="Tahoma bold" font-size="15.00" fill="#222222">(Members)</text>
</a>
</g>
</g>
<g id="clust20" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.Mps</title>
<g id="a_clust20"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.Mps">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M43.15,-1964C43.15,-1964 305.06,-1964 305.06,-1964 311.06,-1964 317.06,-1970 317.06,-1976 317.06,-1976 317.06,-2151 317.06,-2151 317.06,-2157 311.06,-2163 305.06,-2163 305.06,-2163 43.15,-2163 43.15,-2163 37.15,-2163 31.15,-2157 31.15,-2151 31.15,-2151 31.15,-1976 31.15,-1976 31.15,-1970 37.15,-1964 43.15,-1964"/>
<text text-anchor="middle" x="174.1" y="-1973" font-family="Tahoma bold" font-size="15.00" fill="#222222">(Mps)</text>
</a>
</g>
</g>
<g id="clust21" class="cluster">
<title>cluster_github.com/eatMoreApple/openwechat.appmsg</title>
<g id="a_clust21"><a xlink:href="/?f=github.com/eatMoreApple/openwechat" xlink:title="type: github.com/eatMoreApple/openwechat.appmsg">
<path fill="#eed8ae" stroke="black" stroke-width="0.5" d="M2220.01,-3552C2220.01,-3552 2285.71,-3552 2285.71,-3552 2291.71,-3552 2297.71,-3558 2297.71,-3564 2297.71,-3564 2297.71,-3617 2297.71,-3617 2297.71,-3623 2291.71,-3629 2285.71,-3629 2285.71,-3629 2220.01,-3629 2220.01,-3629 2214.01,-3629 2208.01,-3623 2208.01,-3617 2208.01,-3617 2208.01,-3564 2208.01,-3564 2208.01,-3558 2214.01,-3552 2220.01,-3552"/>
<text text-anchor="middle" x="2252.86" y="-3561" font-family="Tahoma bold" font-size="15.00" fill="#222222">(appmsg)</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode -->
<g id="node1" class="node">
<title>github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode</title>
<g id="a_node1"><a xlink:title="github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode | defined in items.go:55">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="3121.48" cy="-4300" rx="123.41" ry="18"/>
<text text-anchor="middle" x="3121.48" y="-4296.3" font-family="Verdana" font-size="14.00">getResponseErrorWithRetCode</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot -->
<g id="node2" class="node">
<title>github.com/eatMoreApple/openwechat.DefaultBot</title>
<g id="a_node2"><a xlink:title="github.com/eatMoreApple/openwechat.DefaultBot | defined in bot.go:304&#10;at bot.go:312: calling [github.com/eatMoreApple/openwechat.DefaultCaller]&#10;at bot.go:312: calling [github.com/eatMoreApple/openwechat.NewBot]&#10;at bot.go:311: calling [github.com/eatMoreApple/openwechat.GetUrlManagerByMode]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="70.5" cy="-126" rx="45.2" ry="18"/>
<text text-anchor="middle" x="70.5" y="-122.3" font-family="Verdana" font-size="14.00">DefaultBot</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.GetUrlManagerByMode -->
<g id="node3" class="node">
<title>github.com/eatMoreApple/openwechat.GetUrlManagerByMode</title>
<g id="a_node3"><a xlink:title="github.com/eatMoreApple/openwechat.GetUrlManagerByMode | defined in url.go:94">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="281.56" cy="-65" rx="92.91" ry="18"/>
<text text-anchor="middle" x="281.56" y="-61.3" font-family="Verdana" font-size="14.00">GetUrlManagerByMode</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.GetUrlManagerByMode -->
<g id="edge96" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.GetUrlManagerByMode</title>
<g id="a_edge96"><a xlink:title="at bot.go:311: calling [github.com/eatMoreApple/openwechat.GetUrlManagerByMode]">
<path fill="none" stroke="black" d="M107.44,-115.51C138.17,-106.55 183.07,-93.45 219.44,-82.83"/>
<polygon fill="black" stroke="black" points="220.83,-86.07 229.45,-79.91 218.87,-79.35 220.83,-86.07"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultCaller -->
<g id="node6" class="node">
<title>github.com/eatMoreApple/openwechat.DefaultCaller</title>
<g id="a_node6"><a xlink:title="github.com/eatMoreApple/openwechat.DefaultCaller | defined in caller.go:21&#10;at caller.go:22: calling [github.com/eatMoreApple/openwechat.NewCaller]&#10;at caller.go:22: calling [github.com/eatMoreApple/openwechat.DefaultClient]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="281.56" cy="-126" rx="54.4" ry="18"/>
<text text-anchor="middle" x="281.56" y="-122.3" font-family="Verdana" font-size="14.00">DefaultCaller</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.DefaultCaller -->
<g id="edge22" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.DefaultCaller</title>
<g id="a_edge22"><a xlink:title="at bot.go:312: calling [github.com/eatMoreApple/openwechat.DefaultCaller]">
<path fill="none" stroke="black" d="M115.84,-126C145.15,-126 184.03,-126 216.66,-126"/>
<polygon fill="black" stroke="black" points="217.02,-129.5 227.02,-126 217.02,-122.5 217.02,-129.5"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewBot -->
<g id="node8" class="node">
<title>github.com/eatMoreApple/openwechat.NewBot</title>
<g id="a_node8"><a xlink:title="github.com/eatMoreApple/openwechat.NewBot | defined in bot.go:296">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="281.56" cy="-187" rx="34.2" ry="18"/>
<text text-anchor="middle" x="281.56" y="-183.3" font-family="Verdana" font-size="14.00">NewBot</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.NewBot -->
<g id="edge27" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultBot&#45;&gt;github.com/eatMoreApple/openwechat.NewBot</title>
<g id="a_edge27"><a xlink:title="at bot.go:312: calling [github.com/eatMoreApple/openwechat.NewBot]">
<path fill="none" stroke="black" d="M107.44,-136.49C144.84,-147.4 203.22,-164.43 241.67,-175.65"/>
<polygon fill="black" stroke="black" points="240.9,-179.07 251.48,-178.52 242.86,-172.35 240.9,-179.07"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultClient -->
<g id="node4" class="node">
<title>github.com/eatMoreApple/openwechat.DefaultClient</title>
<g id="a_node4"><a xlink:title="github.com/eatMoreApple/openwechat.DefaultClient | defined in client.go:35&#10;at client.go:43: calling [github.com/eatMoreApple/openwechat.NewClient]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-65" rx="54.4" ry="18"/>
<text text-anchor="middle" x="541.01" y="-61.3" font-family="Verdana" font-size="14.00">DefaultClient</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewClient -->
<g id="node5" class="node">
<title>github.com/eatMoreApple/openwechat.NewClient</title>
<g id="a_node5"><a xlink:title="github.com/eatMoreApple/openwechat.NewClient | defined in client.go:29">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-65" rx="42.8" ry="18"/>
<text text-anchor="middle" x="815.32" y="-61.3" font-family="Verdana" font-size="14.00">NewClient</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultClient&#45;&gt;github.com/eatMoreApple/openwechat.NewClient -->
<g id="edge33" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultClient&#45;&gt;github.com/eatMoreApple/openwechat.NewClient</title>
<g id="a_edge33"><a xlink:title="at client.go:43: calling [github.com/eatMoreApple/openwechat.NewClient]">
<path fill="none" stroke="black" d="M595.49,-65C643.68,-65 714.12,-65 761.97,-65"/>
<polygon fill="black" stroke="black" points="762.12,-68.5 772.12,-65 762.12,-61.5 762.12,-68.5"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.DefaultClient -->
<g id="edge218" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.DefaultClient</title>
<g id="a_edge218"><a xlink:title="at caller.go:22: calling [github.com/eatMoreApple/openwechat.DefaultClient]">
<path fill="none" stroke="black" d="M326.23,-115.65C370.43,-105.18 438.84,-88.97 486.33,-77.72"/>
<polygon fill="black" stroke="black" points="487.2,-81.11 496.12,-75.4 485.59,-74.3 487.2,-81.11"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewCaller -->
<g id="node7" class="node">
<title>github.com/eatMoreApple/openwechat.NewCaller</title>
<g id="a_node7"><a xlink:title="github.com/eatMoreApple/openwechat.NewCaller | defined in caller.go:16">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-126" rx="42.8" ry="18"/>
<text text-anchor="middle" x="541.01" y="-122.3" font-family="Verdana" font-size="14.00">NewCaller</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.NewCaller -->
<g id="edge108" class="edge">
<title>github.com/eatMoreApple/openwechat.DefaultCaller&#45;&gt;github.com/eatMoreApple/openwechat.NewCaller</title>
<g id="a_edge108"><a xlink:title="at caller.go:22: calling [github.com/eatMoreApple/openwechat.NewCaller]">
<path fill="none" stroke="black" d="M336.21,-126C380.69,-126 443.55,-126 487.66,-126"/>
<polygon fill="black" stroke="black" points="487.89,-129.5 497.89,-126 487.89,-122.5 487.89,-129.5"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="node9" class="node">
<title>github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_node9"><a xlink:title="github.com/eatMoreApple/openwechat.NewReturnResponse | defined in response.go:17">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-3823" rx="84.31" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-3819.3" font-family="Verdana" font-size="14.00">NewReturnResponse</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.GetRandomDeviceId -->
<g id="node10" class="node">
<title>github.com/eatMoreApple/openwechat.GetRandomDeviceId</title>
<g id="a_node10"><a xlink:title="github.com/eatMoreApple/openwechat.GetRandomDeviceId | defined in parser.go:24">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-2034" rx="83.71" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-2030.3" font-family="Verdana" font-size="14.00">GetRandomDeviceId</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="node11" class="node">
<title>github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_node11"><a xlink:title="github.com/eatMoreApple/openwechat.ToBuffer | defined in parser.go:14">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-1851" rx="36.7" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-1847.3" font-family="Verdana" font-size="14.00">ToBuffer</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewUserDetailItemList -->
<g id="node12" class="node">
<title>github.com/eatMoreApple/openwechat.NewUserDetailItemList</title>
<g id="a_node12"><a xlink:title="github.com/eatMoreApple/openwechat.NewUserDetailItemList | defined in items.go:122">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-1973" rx="92.31" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-1969.3" font-family="Verdana" font-size="14.00">NewUserDetailItemList</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl -->
<g id="node13" class="node">
<title>github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl</title>
<g id="a_node13"><a xlink:title="github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl | defined in bot.go:321&#10;at bot.go:323: calling [github.com/eatMoreApple/openwechat.GetQrcodeUrl]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-4285" rx="68.41" ry="18"/>
<text text-anchor="middle" x="541.01" y="-4281.3" font-family="Verdana" font-size="14.00">PrintlnQrcodeUrl</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.GetQrcodeUrl -->
<g id="node14" class="node">
<title>github.com/eatMoreApple/openwechat.GetQrcodeUrl</title>
<g id="a_node14"><a xlink:title="github.com/eatMoreApple/openwechat.GetQrcodeUrl | defined in bot.go:316">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-4285" rx="56.8" ry="18"/>
<text text-anchor="middle" x="815.32" y="-4281.3" font-family="Verdana" font-size="14.00">GetQrcodeUrl</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl&#45;&gt;github.com/eatMoreApple/openwechat.GetQrcodeUrl -->
<g id="edge261" class="edge">
<title>github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl&#45;&gt;github.com/eatMoreApple/openwechat.GetQrcodeUrl</title>
<g id="a_edge261"><a xlink:title="at bot.go:323: calling [github.com/eatMoreApple/openwechat.GetQrcodeUrl]">
<path fill="none" stroke="black" d="M609.32,-4285C651.66,-4285 706.06,-4285 748.17,-4285"/>
<polygon fill="black" stroke="black" points="748.33,-4288.5 758.33,-4285 748.33,-4281.5 748.33,-4288.5"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewTextSendMessage -->
<g id="node15" class="node">
<title>github.com/eatMoreApple/openwechat.NewTextSendMessage</title>
<g id="a_node15"><a xlink:title="github.com/eatMoreApple/openwechat.NewTextSendMessage | defined in message.go:364&#10;at message.go:365: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1871" rx="90.41" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1867.3" font-family="Verdana" font-size="14.00">NewTextSendMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="node16" class="node">
<title>github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_node16"><a xlink:title="github.com/eatMoreApple/openwechat.NewSendMessage | defined in message.go:350">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-2379" rx="74.01" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-2375.3" font-family="Verdana" font-size="14.00">NewSendMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewTextSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge280" class="edge">
<title>github.com/eatMoreApple/openwechat.NewTextSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge280"><a xlink:title="at message.go:365: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="black" d="M1474.23,-1870.91C1651.55,-1871.14 2032.29,-1873.87 2053.35,-1893 2145.57,-1976.77 2007.05,-2077.47 2089.35,-2171 2177.38,-2271.03 2260.69,-2186.4 2379.36,-2247 2416.76,-2266.1 2418.27,-2282.48 2452.36,-2307 2477.35,-2324.98 2506.81,-2343.36 2529.65,-2357.05"/>
<polygon fill="black" stroke="black" points="2527.99,-2360.14 2538.38,-2362.24 2531.57,-2354.12 2527.99,-2360.14"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="node17" class="node">
<title>github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_node17"><a xlink:title="github.com/eatMoreApple/openwechat.getSuccessSentMessage | defined in caller.go:334&#10;at caller.go:335: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:337: calling [github.com/eatMoreApple/openwechat.parseMessageResponseError]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2252.86" cy="-4146" rx="99.61" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-4142.3" font-family="Verdana" font-size="14.00">getSuccessSentMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getSuccessSentMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge75" class="edge">
<title>github.com/eatMoreApple/openwechat.getSuccessSentMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge75"><a xlink:title="at caller.go:335: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2345.43,-4139.23C2370.35,-4133.82 2396.04,-4124.59 2416.36,-4109 2504.02,-4041.75 2546.16,-3908.93 2560.97,-3851.06"/>
<polygon fill="black" stroke="black" points="2564.42,-3851.71 2563.43,-3841.16 2557.62,-3850.02 2564.42,-3851.71"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError -->
<g id="node18" class="node">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError</title>
<g id="a_node18"><a xlink:title="github.com/eatMoreApple/openwechat.parseMessageResponseError | defined in caller.go:313&#10;at caller.go:326: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:314: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:315: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:322: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2568.42" cy="-4128" rx="116.11" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-4124.3" font-family="Verdana" font-size="14.00">parseMessageResponseError</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getSuccessSentMessage&#45;&gt;github.com/eatMoreApple/openwechat.parseMessageResponseError -->
<g id="edge300" class="edge">
<title>github.com/eatMoreApple/openwechat.getSuccessSentMessage&#45;&gt;github.com/eatMoreApple/openwechat.parseMessageResponseError</title>
<g id="a_edge300"><a xlink:title="at caller.go:337: calling [github.com/eatMoreApple/openwechat.parseMessageResponseError]">
<path fill="none" stroke="black" d="M2347.93,-4140.6C2379.73,-4138.77 2415.65,-4136.71 2449.08,-4134.79"/>
<polygon fill="black" stroke="black" points="2449.58,-4138.27 2459.37,-4134.2 2449.18,-4131.28 2449.58,-4138.27"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="node128" class="node">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_node128"><a xlink:title="(*github.com/eatMoreApple/openwechat.ReturnResponse).Err | defined in response.go:22">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="3121.48" cy="-3221" rx="27" ry="18"/>
<text text-anchor="middle" x="3121.48" y="-3217.3" font-family="Verdana" font-size="14.00">Err</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge178" class="edge">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge178"><a xlink:title="at caller.go:314: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:315: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M2586.71,-4109.96C2649.96,-4042.72 2869.88,-3797.84 2962.27,-3550 2986.27,-3485.64 2951.21,-3293.04 2998.27,-3243 3020.01,-3219.88 3057.15,-3216.08 3084.8,-3217.02"/>
<polygon fill="black" stroke="black" points="3084.7,-3220.52 3094.87,-3217.58 3085.09,-3213.53 3084.7,-3220.52"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="node131" class="node">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_node131"><a xlink:title="(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON | defined in response.go:27&#10;at response.go:28: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-3221" rx="44.6" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-3217.3" font-family="Verdana" font-size="14.00">ScanJSON</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge272" class="edge">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge272"><a xlink:title="at caller.go:322: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M2556.46,-4109.91C2528.33,-4066.14 2458.5,-3950.05 2434.36,-3841.5 2420.23,-3777.94 2404.18,-3313.2 2434.36,-3255.5 2448.97,-3227.57 2483.8,-3219.2 2514.3,-3217.68"/>
<polygon fill="black" stroke="black" points="2514.54,-3221.18 2524.44,-3217.41 2514.35,-3214.18 2514.54,-3221.18"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="node167" class="node">
<title>(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_node167"><a xlink:title="(github.com/eatMoreApple/openwechat.BaseResponse).Ok | defined in items.go:44">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2841.37" cy="-4239" rx="27" ry="18"/>
<text text-anchor="middle" x="2841.37" y="-4235.3" font-family="Verdana" font-size="14.00">Ok</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge105" class="edge">
<title>github.com/eatMoreApple/openwechat.parseMessageResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge105"><a xlink:title="at caller.go:326: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="black" d="M2605.83,-4145.13C2646.3,-4163.88 2713.81,-4194.28 2773.37,-4217 2784.23,-4221.14 2796.25,-4225.24 2807.08,-4228.75"/>
<polygon fill="black" stroke="black" points="2806.02,-4232.09 2816.61,-4231.8 2808.15,-4225.42 2806.02,-4232.09"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.GetFileContentType -->
<g id="node19" class="node">
<title>github.com/eatMoreApple/openwechat.GetFileContentType</title>
<g id="a_node19"><a xlink:title="github.com/eatMoreApple/openwechat.GetFileContentType | defined in parser.go:61">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-2095" rx="79.41" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-2091.3" font-family="Verdana" font-size="14.00">GetFileContentType</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getMessageType -->
<g id="node20" class="node">
<title>github.com/eatMoreApple/openwechat.getMessageType</title>
<g id="a_node20"><a xlink:title="github.com/eatMoreApple/openwechat.getMessageType | defined in parser.go:84&#10;at parser.go:85: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2568.42" cy="-2210" rx="67.81" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-2206.3" font-family="Verdana" font-size="14.00">getMessageType</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getFileExt -->
<g id="node21" class="node">
<title>github.com/eatMoreApple/openwechat.getFileExt</title>
<g id="a_node21"><a xlink:title="github.com/eatMoreApple/openwechat.getFileExt | defined in parser.go:69">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2841.37" cy="-2210" rx="42.8" ry="18"/>
<text text-anchor="middle" x="2841.37" y="-2206.3" font-family="Verdana" font-size="14.00">getFileExt</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getMessageType&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt -->
<g id="edge92" class="edge">
<title>github.com/eatMoreApple/openwechat.getMessageType&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt</title>
<g id="a_edge92"><a xlink:title="at parser.go:85: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<path fill="none" stroke="black" d="M2636.39,-2210C2683.25,-2210 2744.96,-2210 2788.18,-2210"/>
<polygon fill="black" stroke="black" points="2788.2,-2213.5 2798.2,-2210 2788.2,-2206.5 2788.2,-2213.5"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getWebWxDataTicket -->
<g id="node22" class="node">
<title>github.com/eatMoreApple/openwechat.getWebWxDataTicket</title>
<g id="a_node22"><a xlink:title="github.com/eatMoreApple/openwechat.getWebWxDataTicket | defined in parser.go:35">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2568.42" cy="-1912" rx="86.81" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-1908.3" font-family="Verdana" font-size="14.00">getWebWxDataTicket</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="node23" class="node">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_node23"><a xlink:title="github.com/eatMoreApple/openwechat.parseBaseResponseError | defined in caller.go:298&#10;at caller.go:299: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:300: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:307: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:304: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2252.86" cy="-2316" rx="101.41" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-2312.3" font-family="Verdana" font-size="14.00">parseBaseResponseError</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge202" class="edge">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge202"><a xlink:title="at caller.go:299: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:300: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M2315.64,-2330.2C2339.39,-2338.86 2364.36,-2352.56 2379.36,-2374 2435.47,-2454.21 2381.96,-3183.98 2452.36,-3252 2538.16,-3334.89 2601.17,-3265 2720.47,-3265 2720.47,-3265 2720.47,-3265 2842.37,-3265 2866.26,-3265 3015.8,-3239.35 3085.19,-3227.22"/>
<polygon fill="black" stroke="black" points="3085.97,-3230.63 3095.21,-3225.46 3084.76,-3223.74 3085.97,-3230.63"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge249" class="edge">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge249"><a xlink:title="at caller.go:304: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M2315.58,-2330.25C2339.31,-2338.92 2364.3,-2352.61 2379.36,-2374 2484.31,-2523.04 2334.6,-3051.87 2452.36,-3191 2467.4,-3208.76 2491.5,-3216.7 2513.77,-3220.02"/>
<polygon fill="black" stroke="black" points="2513.49,-3223.51 2523.84,-3221.24 2514.33,-3216.56 2513.49,-3223.51"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge232" class="edge">
<title>github.com/eatMoreApple/openwechat.parseBaseResponseError&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge232"><a xlink:title="at caller.go:307: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="black" d="M2316.43,-2330.01C2340.14,-2338.63 2364.89,-2352.35 2379.36,-2374 2434.3,-2456.19 2368.86,-3175.76 2415.36,-3263 2494.67,-3411.76 2633.65,-3343.1 2721.47,-3487 2798.17,-3612.69 2831.42,-4089.18 2838.76,-4210.67"/>
<polygon fill="black" stroke="black" points="2835.29,-4211.21 2839.37,-4220.99 2842.27,-4210.8 2835.29,-4211.21"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewMediaSendMessage -->
<g id="node24" class="node">
<title>github.com/eatMoreApple/openwechat.NewMediaSendMessage</title>
<g id="a_node24"><a xlink:title="github.com/eatMoreApple/openwechat.NewMediaSendMessage | defined in message.go:369&#10;at message.go:370: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-2404" rx="97.21" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-2400.3" font-family="Verdana" font-size="14.00">NewMediaSendMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewMediaSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge159" class="edge">
<title>github.com/eatMoreApple/openwechat.NewMediaSendMessage&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge159"><a xlink:title="at message.go:370: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="black" d="M2342.45,-2396.94C2388.07,-2393.3 2443.25,-2388.9 2487.54,-2385.37"/>
<polygon fill="black" stroke="black" points="2487.99,-2388.84 2497.68,-2384.56 2487.44,-2381.87 2487.99,-2388.84"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="node25" class="node">
<title>github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_node25"><a xlink:title="github.com/eatMoreApple/openwechat.XmlFormString | defined in parser.go:45">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-921" rx="62.91" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-917.3" font-family="Verdana" font-size="14.00">XmlFormString</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="node26" class="node">
<title>github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_node26"><a xlink:title="github.com/eatMoreApple/openwechat.getTotalDuration | defined in parser.go:52">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="815.32" cy="-2142" rx="67.81" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2138.3" font-family="Verdana" font-size="14.00">getTotalDuration</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewFileAppMessage -->
<g id="node27" class="node">
<title>github.com/eatMoreApple/openwechat.NewFileAppMessage</title>
<g id="a_node27"><a xlink:title="github.com/eatMoreApple/openwechat.NewFileAppMessage | defined in message.go:504&#10;at message.go:509: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-2756" rx="83.11" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-2752.3" font-family="Verdana" font-size="14.00">NewFileAppMessage</text>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewFileAppMessage&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt -->
<g id="edge14" class="edge">
<title>github.com/eatMoreApple/openwechat.NewFileAppMessage&#45;&gt;github.com/eatMoreApple/openwechat.getFileExt</title>
<g id="a_edge14"><a xlink:title="at message.go:509: calling [github.com/eatMoreApple/openwechat.getFileExt]">
<path fill="none" stroke="black" d="M2578.43,-2737.83C2618.38,-2657.33 2779.57,-2332.53 2827.11,-2236.72"/>
<polygon fill="black" stroke="black" points="2830.29,-2238.2 2831.6,-2227.68 2824.02,-2235.08 2830.29,-2238.2"/>
</a>
</g>
</g>
<!-- github.com/eatMoreApple/openwechat.NewFriendHelper -->
<g id="node28" class="node">
<title>github.com/eatMoreApple/openwechat.NewFriendHelper</title>
<g id="a_node28"><a xlink:title="github.com/eatMoreApple/openwechat.NewFriendHelper | defined in user.go:573">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-3505" rx="70.9" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-3501.3" font-family="Verdana" font-size="14.00">NewFriendHelper</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login -->
<g id="node29" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login</title>
<g id="a_node29"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).Login | defined in bot.go:103&#10;at bot.go:110: calling [github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl]&#10;at bot.go:104: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID]&#10;at bot.go:124: calling [(*github.com/eatMoreApple/openwechat.Bot).handleLogin]&#10;at bot.go:114: calling [(*github.com/eatMoreApple/openwechat.Caller).CheckLogin]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="281.56" cy="-4022" rx="27" ry="18"/>
<text text-anchor="middle" x="281.56" y="-4018.3" font-family="Verdana" font-size="14.00">Login</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl -->
<g id="edge148" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl</title>
<g id="a_edge148"><a xlink:title="at bot.go:110: calling [github.com/eatMoreApple/openwechat.PrintlnQrcodeUrl]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M308.7,-4023.78C329.62,-4026.64 358.07,-4034.03 374.51,-4053 432.23,-4119.6 351.24,-4182.77 410.51,-4248 424.63,-4263.54 444.78,-4272.73 464.99,-4278.12"/>
<polygon fill="black" stroke="black" points="464.36,-4281.56 474.89,-4280.46 465.97,-4274.75 464.36,-4281.56"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin -->
<g id="node30" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin</title>
<g id="a_node30"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).handleLogin | defined in bot.go:155&#10;at bot.go:177: calling [(*github.com/eatMoreApple/openwechat.Client).GetCookieMap]&#10;at bot.go:183: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]&#10;at bot.go:157: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo]&#10;at bot.go:169: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="541.01" cy="-3974" rx="51.3" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3970.3" font-family="Verdana" font-size="14.00">handleLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).handleLogin -->
<g id="edge289" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).handleLogin</title>
<g id="a_edge289"><a xlink:title="at bot.go:124: calling [(*github.com/eatMoreApple/openwechat.Bot).handleLogin]">
<path fill="none" stroke="black" d="M308.92,-4020.62C335.11,-4018.95 376.33,-4015.52 411.51,-4009 438.79,-4003.95 468.72,-3995.94 492.83,-3988.86"/>
<polygon fill="black" stroke="black" points="493.85,-3992.21 502.44,-3986 491.86,-3985.5 493.85,-3992.21"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID -->
<g id="node40" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID</title>
<g id="a_node40"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID | defined in caller.go:26&#10;at caller.go:27: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:27: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID]&#10;at caller.go:28: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:29: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:32: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2481" rx="59.3" ry="18"/>
<text text-anchor="middle" x="1934" y="-2477.3" font-family="Verdana" font-size="14.00">GetLoginUUID</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID -->
<g id="edge270" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID</title>
<g id="a_edge270"><a xlink:title="at bot.go:104: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID]">
<path fill="none" stroke="black" d="M306.67,-4029.22C325.4,-4035.05 351.89,-4043.76 374.51,-4053 450.15,-4083.89 458.31,-4133 540.01,-4133 540.01,-4133 540.01,-4133 1514.24,-4133 1623.02,-4133 1682.51,-4151.6 1749.64,-4066 1802.96,-3998.02 1752.09,-2578.99 1806.64,-2512 1820.74,-2494.69 1842.8,-2486.12 1864.56,-2482.13"/>
<polygon fill="black" stroke="black" points="1865.15,-2485.58 1874.51,-2480.6 1864.09,-2478.66 1865.15,-2485.58"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin -->
<g id="node41" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin</title>
<g id="a_node41"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).CheckLogin | defined in caller.go:46&#10;at caller.go:47: calling [(*github.com/eatMoreApple/openwechat.Client).CheckLogin]&#10;at caller.go:48: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:49: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:52: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]&#10;at caller.go:47: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2542" rx="48.9" ry="18"/>
<text text-anchor="middle" x="1934" y="-2538.3" font-family="Verdana" font-size="14.00">CheckLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).CheckLogin -->
<g id="edge317" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Login&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).CheckLogin</title>
<g id="a_edge317"><a xlink:title="at bot.go:114: calling [(*github.com/eatMoreApple/openwechat.Caller).CheckLogin]">
<path fill="none" stroke="black" d="M308.53,-4024.88C328.79,-4028.38 356.42,-4036.09 374.51,-4053 405.08,-4081.58 385.17,-4106.7 410.51,-4140 454.71,-4198.09 467.02,-4241 540.01,-4241 540.01,-4241 540.01,-4241 1384.73,-4241 1465.68,-4241 1472.39,-4187.18 1550.24,-4165 1593.19,-4152.76 1719.08,-4172.57 1749.64,-4140 1821.71,-4063.21 1774.07,-3772.21 1778.64,-3667 1779.96,-3636.63 1787.58,-2596.68 1806.64,-2573 1822.89,-2552.82 1849.94,-2544.5 1874.86,-2541.46"/>
<polygon fill="black" stroke="black" points="1875.38,-2544.93 1885,-2540.49 1874.71,-2537.96 1875.38,-2544.93"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId -->
<g id="edge131" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId</title>
<g id="a_edge131"><a xlink:title="at bot.go:169: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]">
<path fill="none" stroke="black" d="M580.01,-3962.31C599.84,-3954.1 622.44,-3940.95 634.52,-3921 659.03,-3880.5 667.29,-2252.68 699.52,-2218 733.55,-2181.37 877.96,-2214.45 923.12,-2193 1125,-2097.13 1077.98,-1931.71 1282.23,-1841 1383.23,-1796.14 1672.61,-1779.86 1778.64,-1811 1792.84,-1815.17 1792.54,-1824.54 1806.64,-1829 1858.97,-1845.53 1999.76,-1827.22 2053.35,-1839 2240.78,-1880.19 2270.42,-1942.98 2452.36,-2004 2467.92,-2009.22 2484.91,-2014.09 2500.94,-2018.32"/>
<polygon fill="black" stroke="black" points="2500.22,-2021.75 2510.78,-2020.88 2501.98,-2014.98 2500.22,-2021.75"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit -->
<g id="node31" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit</title>
<g id="a_node31"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).webInit | defined in bot.go:187&#10;at bot.go:201: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify]&#10;at bot.go:191: calling [(*github.com/eatMoreApple/openwechat.Caller).WebInit]&#10;at bot.go:205: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit$1]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="815.32" cy="-3978" rx="33.6" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3974.3" font-family="Verdana" font-size="14.00">webInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit -->
<g id="edge87" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit</title>
<g id="a_edge87"><a xlink:title="at bot.go:183: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]">
<path fill="none" stroke="black" d="M592.28,-3974.74C643.67,-3975.49 722.67,-3976.65 771.28,-3977.37"/>
<polygon fill="black" stroke="black" points="771.41,-3980.87 781.47,-3977.52 771.52,-3973.87 771.41,-3980.87"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo -->
<g id="node42" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo</title>
<g id="a_node42"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo | defined in caller.go:67&#10;at caller.go:84: calling [(github.com/eatMoreApple/openwechat.LoginInfo).Ok]&#10;at caller.go:74: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo]&#10;at caller.go:74: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:75: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:76: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:81: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2725" rx="54.4" ry="18"/>
<text text-anchor="middle" x="1934" y="-2721.3" font-family="Verdana" font-size="14.00">GetLoginInfo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo -->
<g id="edge122" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo</title>
<g id="a_edge122"><a xlink:title="at bot.go:157: calling [(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo]">
<path fill="none" stroke="black" d="M586.32,-3965.5C617.79,-3959.75 661.11,-3952.42 699.52,-3948 827.22,-3933.29 859.77,-3936.02 988.12,-3929 1013.66,-3927.6 1194.46,-3928.8 1218.08,-3919 1255.11,-3903.64 1731.98,-3466.99 1749.64,-3431 1815.96,-3295.86 1708.84,-2870.43 1806.64,-2756 1822.11,-2737.9 1846.26,-2729.45 1869.32,-2725.77"/>
<polygon fill="black" stroke="black" points="1870,-2729.21 1879.46,-2724.44 1869.09,-2722.27 1870,-2729.21"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetCookieMap -->
<g id="node64" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).GetCookieMap</title>
<g id="a_node64"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).GetCookieMap | defined in client.go:65">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-1607" rx="59.3" ry="18"/>
<text text-anchor="middle" x="1934" y="-1603.3" font-family="Verdana" font-size="14.00">GetCookieMap</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetCookieMap -->
<g id="edge78" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).handleLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetCookieMap</title>
<g id="a_edge78"><a xlink:title="at bot.go:177: calling [(*github.com/eatMoreApple/openwechat.Client).GetCookieMap]">
<path fill="none" stroke="black" d="M580.1,-3962.37C599.96,-3954.18 622.56,-3941.02 634.52,-3921 673.81,-3855.2 665.7,-2618.49 670.52,-2542 670.8,-2537.54 671.11,-2536.45 671.52,-2532 674.96,-2494.14 672.14,-2217.38 699.52,-2191 717.43,-2173.74 905.09,-2198.13 923.12,-2181 983.66,-2123.49 899.89,-1865.85 959.12,-1807 1010.26,-1756.19 1210.32,-1783.07 1282.23,-1778 1303.87,-1776.47 1458.8,-1779.43 1477.24,-1768 1504.98,-1750.81 1487.11,-1723.56 1513.24,-1704 1617.87,-1625.65 1775.27,-1609.07 1864.63,-1606.43"/>
<polygon fill="black" stroke="black" points="1864.74,-1609.93 1874.65,-1606.19 1864.57,-1602.94 1864.74,-1609.93"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit$1 -->
<g id="node35" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit$1</title>
<g id="a_node35"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).webInit$1 | defined in bot.go:205&#10;at bot.go:210: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]&#10;at bot.go:209: calling [(*github.com/eatMoreApple/openwechat.Bot).asyncCall]">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-4083" rx="43.4" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-4079.3" font-family="Verdana" font-size="14.00">webInit$1</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit$1 -->
<g id="edge320" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit$1</title>
<g id="a_edge320"><a xlink:title="at bot.go:205: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit$1]">
<path fill="none" stroke="black" d="M840.57,-3990.08C873.41,-4006.09 934.1,-4034.45 988.12,-4053 1006.37,-4059.27 1026.61,-4064.89 1045.08,-4069.53"/>
<polygon fill="black" stroke="black" points="1057.09,-4076.01 1067.63,-4074.94 1058.72,-4069.2 1057.09,-4076.01"/>
<polyline fill="none" stroke="black" points="1057.91,-4072.6 1053.05,-4071.44 "/>
<ellipse fill="none" stroke="black" cx="1049.16" cy="-4070.5" rx="4" ry="4"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit -->
<g id="node43" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit</title>
<g id="a_node43"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebInit | defined in caller.go:91&#10;at caller.go:93: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:94: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:92: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:92: calling [(*github.com/eatMoreApple/openwechat.Client).WebInit]&#10;at caller.go:98: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3274" rx="34.8" ry="18"/>
<text text-anchor="middle" x="1934" y="-3270.3" font-family="Verdana" font-size="14.00">WebInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebInit -->
<g id="edge277" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebInit</title>
<g id="a_edge277"><a xlink:title="at bot.go:191: calling [(*github.com/eatMoreApple/openwechat.Caller).WebInit]">
<path fill="none" stroke="black" d="M848.29,-3974C882.78,-3969.71 939.33,-3962.74 988.12,-3957 1090.27,-3944.98 1117.65,-3953.19 1218.08,-3931 1293.42,-3914.35 1305.58,-3876 1382.73,-3876 1382.73,-3876 1382.73,-3876 1646.94,-3876 1928.82,-3876 1731.66,-3394.8 1806.64,-3305 1826.5,-3281.22 1861.35,-3274.02 1889.43,-3272.46"/>
<polygon fill="black" stroke="black" points="1889.55,-3275.96 1899.42,-3272.13 1889.31,-3268.97 1889.55,-3275.96"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify -->
<g id="node44" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify</title>
<g id="a_node44"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify | defined in caller.go:105&#10;at caller.go:115: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:106: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:106: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify]&#10;at caller.go:112: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]&#10;at caller.go:107: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:108: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3396" rx="80.71" ry="18"/>
<text text-anchor="middle" x="1934" y="-3392.3" font-family="Verdana" font-size="14.00">WebWxStatusNotify</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify -->
<g id="edge189" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify</title>
<g id="a_edge189"><a xlink:title="at bot.go:201: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify]">
<path fill="none" stroke="black" d="M848.86,-3977.28C1009.62,-3973.43 1713.84,-3952.62 1778.64,-3883 1847.81,-3808.69 1741.57,-3504.93 1806.64,-3427 1816.56,-3415.12 1830.22,-3407.39 1844.9,-3402.42"/>
<polygon fill="black" stroke="black" points="1846.07,-3405.72 1854.67,-3399.54 1844.09,-3399.01 1846.07,-3405.72"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall -->
<g id="node32" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall</title>
<g id="a_node32"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).asyncCall | defined in bot.go:218&#10;at bot.go:230: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]&#10;at bot.go:225: calling [(*github.com/eatMoreApple/openwechat.Caller).SyncCheck]&#10;at bot.go:234: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal]&#10;at bot.go:235: calling [(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage]&#10;at bot.go:223: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1383.73" cy="-4022" rx="41" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-4018.3" font-family="Verdana" font-size="14.00">asyncCall</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Alive -->
<g id="node33" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).Alive</title>
<g id="a_node33"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).Alive | defined in bot.go:28">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-4035" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-4031.3" font-family="Verdana" font-size="14.00">Alive</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive -->
<g id="edge220" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive</title>
<g id="a_edge220"><a xlink:title="at bot.go:223: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<path fill="none" stroke="black" d="M1424.82,-4024C1475.02,-4026.51 1560.3,-4030.77 1608.66,-4033.19"/>
<polygon fill="black" stroke="black" points="1608.51,-4036.68 1618.67,-4033.69 1608.86,-4029.69 1608.51,-4036.68"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage -->
<g id="node34" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage</title>
<g id="a_node34"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage | defined in bot.go:252&#10;at bot.go:253: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSync]&#10;at bot.go:262: calling [(*github.com/eatMoreApple/openwechat.Message).init]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1645.94" cy="-3974" rx="95.91" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-3970.3" font-family="Verdana" font-size="14.00">getNewWechatMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage -->
<g id="edge134" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage</title>
<g id="a_edge134"><a xlink:title="at bot.go:235: calling [(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage]">
<path fill="none" stroke="black" d="M1422.02,-4015.12C1459.67,-4008.18 1518.96,-3997.24 1566.94,-3988.39"/>
<polygon fill="black" stroke="black" points="1567.79,-3991.79 1576.99,-3986.53 1566.52,-3984.91 1567.79,-3991.79"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck -->
<g id="node45" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck</title>
<g id="a_node45"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).SyncCheck | defined in caller.go:122&#10;at caller.go:128: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]&#10;at caller.go:124: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:125: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:123: calling [(*github.com/eatMoreApple/openwechat.Client).SyncCheck]&#10;at caller.go:123: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2603" rx="47.1" ry="18"/>
<text text-anchor="middle" x="1934" y="-2599.3" font-family="Verdana" font-size="14.00">SyncCheck</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).SyncCheck -->
<g id="edge97" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).SyncCheck</title>
<g id="a_edge97"><a xlink:title="at bot.go:225: calling [(*github.com/eatMoreApple/openwechat.Caller).SyncCheck]">
<path fill="none" stroke="black" d="M1417.98,-4032.29C1498.86,-4056.38 1702.71,-4111.1 1749.64,-4066 1864.46,-3955.66 1705.9,-2757.32 1806.64,-2634 1823.35,-2613.55 1851.14,-2605.32 1876.42,-2602.4"/>
<polygon fill="black" stroke="black" points="1877.04,-2605.86 1886.68,-2601.48 1876.41,-2598.89 1877.04,-2605.86"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success -->
<g id="node157" class="node">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success</title>
<g id="a_node157"><a xlink:title="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success | defined in items.go:136">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-4220" rx="36.1" ry="18"/>
<text text-anchor="middle" x="1934" y="-4216.3" font-family="Verdana" font-size="14.00">Success</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success -->
<g id="edge73" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success</title>
<g id="a_edge73"><a xlink:title="at bot.go:230: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]">
<path fill="none" stroke="black" d="M1420.49,-4030.21C1438.31,-4035.22 1459.73,-4042.68 1477.24,-4053 1495.94,-4064.02 1494.46,-4075.11 1513.24,-4086 1639.27,-4159.08 1810.1,-4197.59 1889.32,-4212.52"/>
<polygon fill="black" stroke="black" points="1888.95,-4216.01 1899.42,-4214.39 1890.23,-4209.13 1888.95,-4216.01"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal -->
<g id="node158" class="node">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal</title>
<g id="a_node158"><a xlink:title="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal | defined in items.go:140&#10;at items.go:141: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-4220" rx="31.2" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-4216.3" font-family="Verdana" font-size="14.00">NorMal</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal -->
<g id="edge133" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).asyncCall&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal</title>
<g id="a_edge133"><a xlink:title="at bot.go:234: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal]">
<path fill="none" stroke="black" d="M1422.81,-4028.4C1440.79,-4032.92 1461.66,-4040.48 1477.24,-4053 1501.48,-4072.48 1492.86,-4089.51 1513.24,-4113 1544.03,-4148.5 1587.57,-4181.3 1616.03,-4200.98"/>
<polygon fill="black" stroke="black" points="1614.11,-4203.91 1624.35,-4206.66 1618.06,-4198.13 1614.11,-4203.91"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync -->
<g id="node46" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync</title>
<g id="a_node46"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSync | defined in caller.go:177&#10;at caller.go:178: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:184: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]&#10;at caller.go:179: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:180: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:178: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSync]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3213" rx="52.6" ry="18"/>
<text text-anchor="middle" x="1934" y="-3209.3" font-family="Verdana" font-size="14.00">WebWxSync</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSync -->
<g id="edge59" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSync</title>
<g id="a_edge59"><a xlink:title="at bot.go:253: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSync]">
<path fill="none" stroke="black" d="M1666.68,-3956.25C1697.19,-3927.4 1754.8,-3866.96 1778.64,-3802 1800.04,-3743.72 1767.12,-3291.87 1806.64,-3244 1822.25,-3225.1 1847.32,-3216.65 1871.04,-3213.19"/>
<polygon fill="black" stroke="black" points="1871.57,-3216.66 1881.08,-3212 1870.74,-3209.7 1871.57,-3216.66"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).init -->
<g id="node101" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).init</title>
<g id="a_node101"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).init | defined in message.go:316&#10;at message.go:318: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]&#10;at message.go:322: calling [(*github.com/eatMoreApple/openwechat.Message).Receiver]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="815.32" cy="-1616" rx="27" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1612.3" font-family="Verdana" font-size="14.00">init</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).init -->
<g id="edge313" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).getNewWechatMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).init</title>
<g id="a_edge313"><a xlink:title="at bot.go:262: calling [(*github.com/eatMoreApple/openwechat.Message).init]">
<path fill="none" stroke="black" d="M1581.87,-3960.55C1492.96,-3938.03 1332.76,-3883.74 1253.23,-3772 1189.44,-3682.38 1288.53,-3611.48 1218.08,-3527 1149.05,-3444.23 1053.34,-3535.81 988.12,-3450 969.41,-3425.37 960.38,-2924.91 959.12,-2894 956.32,-2824.75 965.54,-1701.81 923.12,-1647 906.76,-1625.85 876.84,-1618.51 852.82,-1616.23"/>
<polygon fill="black" stroke="black" points="852.83,-1612.72 842.61,-1615.52 852.34,-1619.71 852.83,-1612.72"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).asyncCall -->
<g id="edge80" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).asyncCall</title>
<g id="a_edge80"><a xlink:title="at bot.go:209: calling [(*github.com/eatMoreApple/openwechat.Bot).asyncCall]">
<path fill="none" stroke="black" d="M1145.35,-4074.65C1195.11,-4063.61 1282.71,-4044.18 1336.45,-4032.27"/>
<polygon fill="black" stroke="black" points="1337.39,-4035.64 1346.4,-4030.06 1335.87,-4028.81 1337.39,-4035.64"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL -->
<g id="node36" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL</title>
<g id="a_node36"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL | defined in bot.go:244&#10;at bot.go:248: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error]&#10;at bot.go:248: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Error]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1383.73" cy="-4083" rx="63.01" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-4079.3" font-family="Verdana" font-size="14.00">stopAsyncCALL</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL -->
<g id="edge1" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).webInit$1&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL</title>
<g id="a_edge1"><a xlink:title="at bot.go:210: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1150.35,-4083C1192.92,-4083 1259.11,-4083 1309.98,-4083"/>
<polygon fill="black" stroke="black" points="1310.26,-4086.5 1320.26,-4083 1310.26,-4079.5 1310.26,-4086.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error -->
<g id="node159" class="node">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error</title>
<g id="a_node159"><a xlink:title="(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error | defined in items.go:145">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-4281" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-4277.3" font-family="Verdana" font-size="14.00">Error</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error -->
<g id="edge295" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error</title>
<g id="a_edge295"><a xlink:title="at bot.go:248: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Error]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1404.32,-4100.38C1430.31,-4123.75 1477.25,-4167.01 1514.24,-4207 1531.39,-4225.55 1529.33,-4236.82 1550.24,-4251 1567.94,-4263.01 1590.72,-4270.42 1609.5,-4274.87"/>
<polygon fill="black" stroke="black" points="1608.95,-4278.34 1619.47,-4277.05 1610.45,-4271.5 1608.95,-4278.34"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.BaseResponse).Error -->
<g id="node166" class="node">
<title>(github.com/eatMoreApple/openwechat.BaseResponse).Error</title>
<g id="a_node166"><a xlink:title="(github.com/eatMoreApple/openwechat.BaseResponse).Error | defined in items.go:48&#10;at items.go:49: calling [github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2841.37" cy="-4300" rx="27" ry="18"/>
<text text-anchor="middle" x="2841.37" y="-4296.3" font-family="Verdana" font-size="14.00">Error</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Error -->
<g id="edge306" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Error</title>
<g id="a_edge306"><a xlink:title="at bot.go:248: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Error]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1391.28,-4100.99C1408.84,-4146.25 1461.73,-4264.66 1550.24,-4313 1639.06,-4361.51 1676.43,-4325 1777.64,-4325 1777.64,-4325 1777.64,-4325 2569.42,-4325 2654.05,-4325 2752.93,-4312.76 2804.66,-4305.41"/>
<polygon fill="black" stroke="black" points="2805.27,-4308.85 2814.67,-4303.96 2804.27,-4301.93 2805.27,-4308.85"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout -->
<g id="node37" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout</title>
<g id="a_node37"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).Logout | defined in bot.go:139&#10;at bot.go:145: calling [(*github.com/eatMoreApple/openwechat.Caller).Logout]&#10;at bot.go:148: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]&#10;at bot.go:140: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-4022" rx="30.6" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-4018.3" font-family="Verdana" font-size="14.00">Logout</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive -->
<g id="edge239" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Alive</title>
<g id="a_edge239"><a xlink:title="at bot.go:140: calling [(*github.com/eatMoreApple/openwechat.Bot).Alive]">
<path fill="none" stroke="black" d="M1135.6,-4015.69C1169.91,-4008.28 1229.99,-3996.46 1282.23,-3992 1368.59,-3984.63 1391.25,-3981.15 1477.24,-3992 1524.94,-3998.02 1578.5,-4013.3 1611.98,-4023.92"/>
<polygon fill="black" stroke="black" points="1611.1,-4027.32 1621.69,-4027.06 1613.25,-4020.66 1611.1,-4027.32"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL -->
<g id="edge151" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL</title>
<g id="a_edge151"><a xlink:title="at bot.go:148: calling [(*github.com/eatMoreApple/openwechat.Bot).stopAsyncCALL]">
<path fill="none" stroke="black" d="M1135.82,-4028.24C1179.76,-4037.99 1265.63,-4057.03 1323.6,-4069.89"/>
<polygon fill="black" stroke="black" points="1322.85,-4073.3 1333.37,-4072.05 1324.36,-4066.47 1322.85,-4073.3"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout -->
<g id="node55" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout</title>
<g id="a_node55"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).Logout | defined in caller.go:262&#10;at caller.go:264: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at caller.go:263: calling [(*github.com/eatMoreApple/openwechat.Client).Logout]&#10;at caller.go:263: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2908" rx="30.6" ry="18"/>
<text text-anchor="middle" x="1934" y="-2904.3" font-family="Verdana" font-size="14.00">Logout</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).Logout -->
<g id="edge40" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).Logout</title>
<g id="a_edge40"><a xlink:title="at bot.go:145: calling [(*github.com/eatMoreApple/openwechat.Caller).Logout]">
<path fill="none" stroke="black" d="M1135.91,-4016.24C1239.18,-3993.53 1598.3,-3899.76 1749.64,-3667 1808.93,-3575.81 1769.06,-3532.34 1778.64,-3424 1783.4,-3370.23 1772.12,-2980.5 1806.64,-2939 1827.36,-2914.1 1864.51,-2907.37 1893.19,-2906.27"/>
<polygon fill="black" stroke="black" points="1893.38,-2909.76 1903.32,-2906.09 1893.26,-2902.76 1893.38,-2909.76"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin -->
<g id="node38" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin</title>
<g id="a_node38"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).HotLogin | defined in bot.go:58&#10;at bot.go:76: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]&#10;at bot.go:70: calling [(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit]&#10;at bot.go:67: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]&#10;at bot.go:79: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="70.5" cy="-4022" rx="38.5" ry="18"/>
<text text-anchor="middle" x="70.5" y="-4018.3" font-family="Verdana" font-size="14.00">HotLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Login -->
<g id="edge94" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).Login</title>
<g id="a_edge94"><a xlink:title="at bot.go:67: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]&#10;at bot.go:79: calling [(*github.com/eatMoreApple/openwechat.Bot).Login]">
<path fill="none" stroke="black" d="M109.36,-4022C147.76,-4022 206.75,-4022 244.49,-4022"/>
<polygon fill="black" stroke="black" points="244.54,-4025.5 254.54,-4022 244.54,-4018.5 244.54,-4025.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit -->
<g id="edge3" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).webInit</title>
<g id="a_edge3"><a xlink:title="at bot.go:76: calling [(*github.com/eatMoreApple/openwechat.Bot).webInit]">
<path fill="none" stroke="black" d="M102.4,-4011.82C125.78,-4004.67 158.83,-3995.75 188.6,-3992 270.58,-3981.67 292.29,-3983.86 374.51,-3992 403.83,-3994.9 410.19,-4002.1 439.51,-4005 525.76,-4013.54 548.09,-4011.45 634.52,-4005 682.5,-4001.42 737.1,-3992.53 773.42,-3985.92"/>
<polygon fill="black" stroke="black" points="774.42,-3989.3 783.62,-3984.04 773.15,-3982.41 774.42,-3989.3"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).hotLoginInit -->
<g id="node39" class="node">
<title>(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit</title>
<g id="a_node39"><a xlink:title="(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit | defined in bot.go:87">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="281.56" cy="-4083" rx="51.3" ry="18"/>
<text text-anchor="middle" x="281.56" y="-4079.3" font-family="Verdana" font-size="14.00">hotLoginInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit -->
<g id="edge69" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Bot).HotLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit</title>
<g id="a_edge69"><a xlink:title="at bot.go:70: calling [(*github.com/eatMoreApple/openwechat.Bot).hotLoginInit]">
<path fill="none" stroke="black" d="M103.71,-4031.4C137.92,-4041.38 192.4,-4057.28 231.86,-4068.79"/>
<polygon fill="black" stroke="black" points="230.96,-4072.18 241.54,-4071.62 232.93,-4065.46 230.96,-4072.18"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge49" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge49"><a xlink:title="at caller.go:27: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1993.29,-2482.36C2015.41,-2486.02 2038.75,-2494.3 2053.35,-2512 2212.49,-2704.91 1951.11,-3456.59 2126.35,-3635 2165.89,-3675.25 2327.5,-3633.8 2379.36,-3656 2452.32,-3687.23 2516.47,-3758.3 2547.55,-3796.89"/>
<polygon fill="black" stroke="black" points="2545.07,-3799.39 2554.02,-3805.06 2550.55,-3795.04 2545.07,-3799.39"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginUUID -->
<g id="node60" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID</title>
<g id="a_node60"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID | defined in client.go:70&#10;at client.go:80: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-762" rx="59.3" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-758.3" font-family="Verdana" font-size="14.00">GetLoginUUID</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID -->
<g id="edge130" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID</title>
<g id="a_edge130"><a xlink:title="at caller.go:27: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID]">
<path fill="none" stroke="black" d="M1949.49,-2463.48C1975.59,-2430.78 2029.96,-2357.23 2053.35,-2285 2083.86,-2190.81 2084.54,-1939.84 2090.35,-1841 2093.77,-1782.84 2089.65,-838.24 2126.35,-793 2140.21,-775.92 2161.84,-767.37 2183.27,-763.33"/>
<polygon fill="black" stroke="black" points="2184.07,-766.75 2193.4,-761.73 2182.98,-759.83 2184.07,-766.75"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge165" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge165"><a xlink:title="at caller.go:28: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:29: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1949.8,-2463.58C1976.41,-2431.04 2031.57,-2357.73 2053.35,-2285 2083.39,-2184.71 2051.54,-475.23 2126.35,-402 2218.16,-312.14 2286.89,-397 2415.36,-397 2415.36,-397 2415.36,-397 2842.37,-397 2990.72,-397 3106.14,-2897.73 3119.24,-3192.69"/>
<polygon fill="black" stroke="black" points="3115.75,-3193.13 3119.69,-3202.97 3122.75,-3192.82 3115.75,-3193.13"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll -->
<g id="node129" class="node">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll</title>
<g id="a_node129"><a xlink:title="(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll | defined in response.go:45&#10;at response.go:46: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at response.go:47: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2841.37" cy="-3160" rx="33.6" ry="18"/>
<text text-anchor="middle" x="2841.37" y="-3156.3" font-family="Verdana" font-size="14.00">ReadAll</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll -->
<g id="edge199" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll</title>
<g id="a_edge199"><a xlink:title="at caller.go:32: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<path fill="none" stroke="black" d="M1946.48,-2463.21C1968.3,-2429.17 2016.8,-2352.22 2053.35,-2285 2088.77,-2219.87 2063.49,-2174.32 2126.35,-2135 2181.06,-2100.78 2373.23,-2102 2416.36,-2150 2455.29,-2193.32 2406.63,-2239.93 2452.36,-2276 2472.63,-2291.98 2662.25,-2272.85 2684.47,-2286 2834.77,-2374.94 2841.14,-2991.28 2840.62,-3131.61"/>
<polygon fill="black" stroke="black" points="2837.12,-3131.92 2840.57,-3141.94 2844.12,-3131.96 2837.12,-3131.92"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge266" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge266"><a xlink:title="at caller.go:47: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1983.23,-2541.75C2008.17,-2544.39 2036.77,-2552.26 2053.35,-2573 2126.25,-2664.18 2038.17,-3518.08 2089.35,-3623 2136.95,-3720.58 2270.27,-3641.74 2379.36,-3685 2445.23,-3711.12 2508.91,-3766 2542.62,-3798.13"/>
<polygon fill="black" stroke="black" points="2540.51,-3800.96 2550.13,-3805.39 2545.37,-3795.92 2540.51,-3800.96"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).CheckLogin -->
<g id="node62" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).CheckLogin</title>
<g id="a_node62"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).CheckLogin | defined in client.go:90&#10;at client.go:101: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-823" rx="48.9" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-819.3" font-family="Verdana" font-size="14.00">CheckLogin</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).CheckLogin -->
<g id="edge8" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).CheckLogin</title>
<g id="a_edge8"><a xlink:title="at caller.go:47: calling [(*github.com/eatMoreApple/openwechat.Client).CheckLogin]">
<path fill="none" stroke="black" d="M1983.01,-2542.53C2007.87,-2540.07 2036.49,-2532.44 2053.35,-2512 2076.16,-2484.36 2088.69,-1903.8 2090.35,-1868 2092.97,-1811.69 2090.82,-897.76 2126.35,-854 2142.52,-834.09 2169.25,-825.78 2193.91,-822.68"/>
<polygon fill="black" stroke="black" points="2194.34,-826.15 2203.94,-821.68 2193.64,-819.19 2194.34,-826.15"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge34" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge34"><a xlink:title="at caller.go:48: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:49: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1982.98,-2541.62C2007.36,-2538.84 2035.53,-2531.18 2053.35,-2512 2110.54,-2450.44 2061.19,-2194.05 2126.35,-2141 2139.3,-2130.46 2720.39,-2139 2720.47,-2139 2720.47,-2139 2720.47,-2139 2842.37,-2139 2873.45,-2139 2887.65,-2136.78 2909.37,-2159 2971.55,-2222.6 2942.53,-2265.28 2962.27,-2352 3036.96,-2680.15 3099.86,-3084.32 3116.29,-3193"/>
<polygon fill="black" stroke="black" points="3112.87,-3193.77 3117.82,-3203.14 3119.79,-3192.73 3112.87,-3193.77"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll -->
<g id="edge195" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll</title>
<g id="a_edge195"><a xlink:title="at caller.go:52: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<path fill="none" stroke="black" d="M1983.21,-2541.84C2007.66,-2539.11 2035.82,-2531.44 2053.35,-2512 2147.55,-2407.51 2009.85,-2282.86 2126.35,-2204 2180.45,-2167.38 2364.45,-2116.35 2416.36,-2156 2464.69,-2192.91 2406.08,-2248.55 2452.36,-2288 2531.32,-2355.31 2598.77,-2254.51 2684.47,-2313 2823.95,-2408.19 2838.67,-2994.83 2840.2,-3131.54"/>
<polygon fill="black" stroke="black" points="2836.7,-3131.67 2840.29,-3141.64 2843.7,-3131.61 2836.7,-3131.67"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge170" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge170"><a xlink:title="at caller.go:74: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1988.64,-2725.43C2012.18,-2728.62 2037.93,-2736.78 2053.35,-2756 2119.33,-2838.21 2042.96,-3609.35 2089.35,-3704 2138.53,-3804.35 2275.67,-3750.44 2379.36,-3772 2423.6,-3781.2 2472.86,-3794.68 2509.87,-3805.47"/>
<polygon fill="black" stroke="black" points="2508.9,-3808.84 2519.49,-3808.3 2510.88,-3802.12 2508.9,-3808.84"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginInfo -->
<g id="node63" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo</title>
<g id="a_node63"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo | defined in client.go:105&#10;at client.go:109: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-884" rx="54.4" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-880.3" font-family="Verdana" font-size="14.00">GetLoginInfo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo -->
<g id="edge124" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo</title>
<g id="a_edge124"><a xlink:title="at caller.go:74: calling [(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo]">
<path fill="none" stroke="black" d="M1988.53,-2724.99C2012.05,-2722 2037.81,-2714.06 2053.35,-2695 2081.75,-2660.18 2088.49,-1931.9 2090.35,-1887 2092.59,-1833.01 2092.26,-956.92 2126.35,-915 2141.28,-896.65 2165.19,-888.15 2188.16,-884.51"/>
<polygon fill="black" stroke="black" points="2188.79,-887.96 2198.26,-883.19 2187.89,-881.01 2188.79,-887.96"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge229" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge229"><a xlink:title="at caller.go:75: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:76: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1988.65,-2724.5C2011.91,-2721.37 2037.41,-2713.44 2053.35,-2695 2119.33,-2618.7 2043.67,-2304.77 2126.35,-2247 2218.53,-2182.6 2266.92,-2245.46 2379.36,-2247 2411.81,-2247.44 2419.91,-2248.25 2452.36,-2249 2571.51,-2251.74 2601.29,-2254 2720.47,-2254 2720.47,-2254 2720.47,-2254 2842.37,-2254 3043.03,-2254 3107.51,-3032.76 3118.63,-3192.55"/>
<polygon fill="black" stroke="black" points="3115.17,-3193.23 3119.34,-3202.97 3122.15,-3192.76 3115.17,-3193.23"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML -->
<g id="node130" class="node">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML</title>
<g id="a_node130"><a xlink:title="(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML | defined in response.go:36&#10;at response.go:37: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-3160" rx="39.7" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-3156.3" font-family="Verdana" font-size="14.00">ScanXML</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML -->
<g id="edge283" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML</title>
<g id="a_edge283"><a xlink:title="at caller.go:81: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML]">
<path fill="none" stroke="black" d="M1988.62,-2724.48C2011.87,-2721.34 2037.38,-2713.42 2053.35,-2695 2102.7,-2638.1 2069.45,-2430.64 2089.35,-2358 2099.81,-2319.83 2093.06,-2298.4 2126.35,-2277 2173.65,-2246.6 2333.71,-2244.19 2379.36,-2277 2421.25,-2307.1 2406.81,-2336.31 2416.36,-2387 2431.83,-2469.1 2397.6,-3074.91 2452.36,-3138 2468.62,-3156.73 2495.5,-3162.61 2519.19,-3163.63"/>
<polygon fill="black" stroke="black" points="2519.4,-3167.13 2529.45,-3163.79 2519.51,-3160.13 2519.4,-3167.13"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.LoginInfo).Ok -->
<g id="node195" class="node">
<title>(github.com/eatMoreApple/openwechat.LoginInfo).Ok</title>
<g id="a_node195"><a xlink:title="(github.com/eatMoreApple/openwechat.LoginInfo).Ok | defined in items.go:23">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-3923" rx="27" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-3919.3" font-family="Verdana" font-size="14.00">Ok</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(github.com/eatMoreApple/openwechat.LoginInfo).Ok -->
<g id="edge23" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).GetLoginInfo&#45;&gt;(github.com/eatMoreApple/openwechat.LoginInfo).Ok</title>
<g id="a_edge23"><a xlink:title="at caller.go:84: calling [(github.com/eatMoreApple/openwechat.LoginInfo).Ok]">
<path fill="none" stroke="black" d="M1988.65,-2725.42C2012.2,-2728.6 2037.95,-2736.77 2053.35,-2756 2087.77,-2798.95 2081.93,-3691.47 2089.35,-3746 2098.91,-3816.18 2074.77,-3852.46 2126.35,-3901 2150.07,-3923.31 2188,-3927.24 2215.97,-3926.55"/>
<polygon fill="black" stroke="black" points="2216.31,-3930.04 2226.14,-3926.09 2216,-3923.04 2216.31,-3930.04"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge50" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge50"><a xlink:title="at caller.go:92: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1968.72,-3272.83C1996.06,-3273.89 2033.24,-3280.29 2053.35,-3305 2102.23,-3365.06 2033.2,-3947.68 2089.35,-4001 2150.79,-4059.34 2061.03,-3867.95 2126.35,-3814 2152.88,-3792.09 2359.49,-3805.37 2480.3,-3815.24"/>
<polygon fill="black" stroke="black" points="2480.02,-3818.73 2490.27,-3816.06 2480.6,-3811.75 2480.02,-3818.73"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit -->
<g id="node65" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit</title>
<g id="a_node65"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebInit | defined in client.go:113&#10;at client.go:119: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:125: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1128" rx="34.8" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1124.3" font-family="Verdana" font-size="14.00">WebInit</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebInit -->
<g id="edge99" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebInit</title>
<g id="a_edge99"><a xlink:title="at caller.go:92: calling [(*github.com/eatMoreApple/openwechat.Client).WebInit]">
<path fill="none" stroke="black" d="M1968.74,-3275.51C1996.09,-3274.72 2033.27,-3268.65 2053.35,-3244 2067.93,-3226.11 2089.51,-2437.06 2090.35,-2414 2092.91,-2344.3 2082.57,-1213.3 2126.35,-1159 2145.59,-1135.14 2180.02,-1127.92 2207.95,-1126.37"/>
<polygon fill="black" stroke="black" points="2208.41,-1129.85 2218.29,-1126.03 2208.19,-1122.86 2208.41,-1129.85"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge10" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge10"><a xlink:title="at caller.go:93: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:94: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1968.79,-3272.78C1996.16,-3273.81 2033.36,-3280.19 2053.35,-3305 2112.88,-3378.86 2044.6,-4074.36 2089.35,-4158 2098.96,-4175.95 2107,-4178.69 2126.35,-4185 2170.57,-4199.42 2930.69,-4173.15 2962.27,-4139 3029.92,-4065.85 2932.84,-3318.14 2998.27,-3243 3019.24,-3218.93 3056.84,-3215.34 3084.81,-3216.6"/>
<polygon fill="black" stroke="black" points="3084.8,-3220.1 3095.01,-3217.28 3085.27,-3213.12 3084.8,-3220.1"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge293" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge293"><a xlink:title="at caller.go:98: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M1967.24,-3268.55C1991.52,-3263.8 2025.32,-3255.8 2053.35,-3244 2070.64,-3236.73 2071.31,-3227.1 2089.35,-3222 2240.32,-3179.35 2428.97,-3199.14 2517.36,-3212.41"/>
<polygon fill="black" stroke="black" points="2516.96,-3215.89 2527.38,-3213.95 2518.03,-3208.97 2516.96,-3215.89"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge132" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge132"><a xlink:title="at caller.go:106: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2011.28,-3401.33C2027.41,-3406.07 2042.74,-3414 2053.35,-3427 2099.45,-3483.46 2036.42,-4031.89 2089.35,-4082 2142.13,-4131.95 2353.35,-4118.2 2416.36,-4082 2504.56,-4031.34 2546.12,-3907.11 2560.86,-3851.15"/>
<polygon fill="black" stroke="black" points="2564.31,-3851.77 2563.38,-3841.21 2557.53,-3850.05 2564.31,-3851.77"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify -->
<g id="node66" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify</title>
<g id="a_node66"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify | defined in client.go:129&#10;at client.go:146: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:143: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1250" rx="80.71" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1246.3" font-family="Verdana" font-size="14.00">WebWxStatusNotify</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify -->
<g id="edge237" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify</title>
<g id="a_edge237"><a xlink:title="at caller.go:106: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify]">
<path fill="none" stroke="black" d="M2012.28,-3391.19C2028.07,-3386.54 2043,-3378.76 2053.35,-3366 2085.23,-3326.71 2088.55,-2506.57 2090.35,-2456 2092.68,-2390.73 2085.31,-1331.8 2126.35,-1281 2135.96,-1269.11 2149.33,-1261.36 2163.79,-1256.38"/>
<polygon fill="black" stroke="black" points="2164.84,-1259.71 2173.42,-1253.49 2162.83,-1253.01 2164.84,-1259.71"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge327" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge327"><a xlink:title="at caller.go:107: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:108: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1996.54,-3384.59C2015.23,-3380.02 2035.53,-3373.92 2053.35,-3366 2070.93,-3358.19 2070.95,-3347.57 2089.35,-3342 2244.9,-3294.9 2290.39,-3372.66 2452.36,-3386 2503.37,-3390.2 2516.23,-3391 2567.42,-3391 2567.42,-3391 2567.42,-3391 2842.37,-3391 2895.71,-3391 2920.9,-3419.66 2962.27,-3386 3013.11,-3344.64 2950.37,-3287.73 2998.27,-3243 3021.08,-3221.7 3057.18,-3217.46 3084.24,-3217.79"/>
<polygon fill="black" stroke="black" points="3084.37,-3221.29 3094.48,-3218.13 3084.61,-3214.3 3084.37,-3221.29"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge278" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge278"><a xlink:title="at caller.go:112: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M2000.98,-3385.88C2018.73,-3381.42 2037.41,-3375.06 2053.35,-3366 2073.02,-3354.82 2069.26,-3340.41 2089.35,-3330 2205.48,-3269.83 2252.23,-3310.76 2379.36,-3280 2430.04,-3267.74 2487.02,-3249.17 2524.84,-3236.15"/>
<polygon fill="black" stroke="black" points="2526.2,-3239.38 2534.5,-3232.8 2523.91,-3232.77 2526.2,-3239.38"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge24" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxStatusNotify&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge24"><a xlink:title="at caller.go:115: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="black" d="M2011.37,-3401.25C2027.49,-3406 2042.8,-3413.95 2053.35,-3427 2109.08,-3495.94 2029.82,-4158.32 2089.35,-4224 2187.67,-4332.46 2268.97,-4271 2415.36,-4271 2415.36,-4271 2415.36,-4271 2569.42,-4271 2654.5,-4271 2753.58,-4255.25 2805.13,-4245.85"/>
<polygon fill="black" stroke="black" points="2805.89,-4249.26 2815.09,-4244 2804.62,-4242.38 2805.89,-4249.26"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge312" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge312"><a xlink:title="at caller.go:123: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1981.43,-2602.58C2006.77,-2605.02 2036.36,-2612.77 2053.35,-2634 2123.94,-2722.19 2039.77,-3548.5 2089.35,-3650 2137.72,-3749.01 2274.33,-3676.31 2379.36,-3712 2439.51,-3732.44 2501.49,-3773.68 2537.13,-3799.73"/>
<polygon fill="black" stroke="black" points="2535.06,-3802.55 2545.18,-3805.69 2539.22,-3796.92 2535.06,-3802.55"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck -->
<g id="node67" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck</title>
<g id="a_node67"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).SyncCheck | defined in client.go:150&#10;at client.go:169: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:157: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1677" rx="47.1" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1673.3" font-family="Verdana" font-size="14.00">SyncCheck</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).SyncCheck -->
<g id="edge201" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).SyncCheck</title>
<g id="a_edge201"><a xlink:title="at caller.go:123: calling [(*github.com/eatMoreApple/openwechat.Client).SyncCheck]">
<path fill="none" stroke="black" d="M1981.4,-2603.57C2006.57,-2601.24 2035.99,-2593.72 2053.35,-2573 2088.91,-2530.56 2084.58,-2131.16 2089.35,-2076 2092.89,-2035.06 2099.43,-1739.05 2126.35,-1708 2143.35,-1688.4 2170.58,-1680.18 2195.34,-1677.06"/>
<polygon fill="black" stroke="black" points="2195.8,-1680.53 2205.4,-1676.04 2195.1,-1673.57 2195.8,-1680.53"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge54" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge54"><a xlink:title="at caller.go:124: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:125: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1981.47,-2603.06C2006.33,-2600.52 2035.44,-2592.96 2053.35,-2573 2091.58,-2530.41 2075.86,-2373.61 2089.35,-2318 2101.12,-2269.51 2089.27,-2245.39 2126.35,-2212 2224.42,-2123.71 2284.29,-2159.21 2415.36,-2144 2423.8,-2143.02 2711.97,-2166 2720.47,-2166 2720.47,-2166 2720.47,-2166 2842.37,-2166 2872.23,-2166 2886.24,-2152.11 2909.37,-2171 2976.27,-2225.63 2942.71,-2273.87 2962.27,-2358 3037.91,-2683.25 3100.02,-3084.3 3116.3,-3192.82"/>
<polygon fill="black" stroke="black" points="3112.88,-3193.58 3117.82,-3202.95 3119.8,-3192.54 3112.88,-3193.58"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll -->
<g id="edge35" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll</title>
<g id="a_edge35"><a xlink:title="at caller.go:128: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<path fill="none" stroke="black" d="M1981.33,-2602.93C2006.15,-2600.35 2035.26,-2592.79 2053.35,-2573 2121.68,-2498.25 2063.33,-2445.87 2089.35,-2348 2101.31,-2303.01 2088.06,-2276.48 2126.35,-2250 2218.85,-2186.05 2274.27,-2209.99 2379.36,-2250 2419.96,-2265.46 2412.65,-2297.39 2452.36,-2315 2499.79,-2336.03 2646.34,-2304.82 2684.47,-2340 2804.26,-2450.5 2833.9,-2999.84 2839.33,-3131.57"/>
<polygon fill="black" stroke="black" points="2835.84,-3131.82 2839.73,-3141.67 2842.83,-3131.54 2835.84,-3131.82"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge51" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge51"><a xlink:title="at caller.go:178: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1986.95,-3213.37C2010.86,-3216.44 2037.4,-3224.53 2053.35,-3244 2141.08,-3351.11 1988.66,-3770.97 2089.35,-3866 2114.94,-3890.15 2096.31,-3814.33 2126.35,-3796 2186.52,-3759.28 2387.58,-3789.19 2496.25,-3808.99"/>
<polygon fill="black" stroke="black" points="2495.68,-3812.45 2506.15,-3810.82 2496.95,-3805.56 2495.68,-3812.45"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSync -->
<g id="node68" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSync</title>
<g id="a_node68"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSync | defined in client.go:204&#10;at client.go:220: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1006" rx="52.6" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1002.3" font-family="Verdana" font-size="14.00">WebWxSync</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSync -->
<g id="edge318" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSync</title>
<g id="a_edge318"><a xlink:title="at caller.go:178: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSync]">
<path fill="none" stroke="black" d="M1986.81,-3213.3C2010.84,-3210.5 2037.53,-3202.64 2053.35,-3183 2090.78,-3136.56 2088.79,-1083.33 2126.35,-1037 2141.63,-1018.16 2166.37,-1009.7 2189.86,-1006.22"/>
<polygon fill="black" stroke="black" points="2190.32,-1009.69 2199.83,-1005.01 2189.48,-1002.74 2190.32,-1009.69"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge241" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge241"><a xlink:title="at caller.go:179: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:180: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M1986.86,-3214.36C2010.31,-3217.71 2036.48,-3225.75 2053.35,-3244 2133.68,-3330.86 2022.15,-3443.96 2126.35,-3500 2219.1,-3549.88 2921.09,-3436.98 2962.27,-3398 3013.64,-3349.39 2947.03,-3291.74 2998.27,-3243 3020.89,-3221.49 3057.01,-3217.27 3084.13,-3217.67"/>
<polygon fill="black" stroke="black" points="3084.28,-3221.18 3094.4,-3218.04 3084.53,-3214.18 3084.28,-3221.18"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge166" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge166"><a xlink:title="at caller.go:184: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M1979,-3203.47C2001.48,-3198.19 2029.12,-3191.07 2053.35,-3183 2069.8,-3177.52 2072.36,-3171.4 2089.35,-3168 2160.61,-3153.75 2346.61,-3147.62 2416.36,-3168 2434.59,-3173.32 2434.96,-3183.4 2452.36,-3191 2473.01,-3200.02 2496.96,-3206.8 2517.65,-3211.61"/>
<polygon fill="black" stroke="black" points="2516.99,-3215.05 2527.52,-3213.82 2518.52,-3208.22 2516.99,-3215.05"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact -->
<g id="node47" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact</title>
<g id="a_node47"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact | defined in caller.go:142&#10;at caller.go:143: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact]&#10;at caller.go:144: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:145: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:143: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:152: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:149: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3335" rx="75.81" ry="18"/>
<text text-anchor="middle" x="1934" y="-3331.3" font-family="Verdana" font-size="14.00">WebWxGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge207" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge207"><a xlink:title="at caller.go:143: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2007.92,-3339.36C2025.27,-3343.98 2042.02,-3352.08 2053.35,-3366 2101.76,-3425.44 2033.75,-4002.23 2089.35,-4055 2159.36,-4121.45 2053.94,-3904.82 2126.35,-3841 2151.8,-3818.57 2352.95,-3818.56 2474.65,-3820.68"/>
<polygon fill="black" stroke="black" points="2474.65,-3824.18 2484.72,-3820.86 2474.78,-3817.18 2474.65,-3824.18"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetContact -->
<g id="node69" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact</title>
<g id="a_node69"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact | defined in client.go:173&#10;at client.go:181: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1189" rx="75.81" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1185.3" font-family="Verdana" font-size="14.00">WebWxGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact -->
<g id="edge125" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact</title>
<g id="a_edge125"><a xlink:title="at caller.go:143: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact]">
<path fill="none" stroke="black" d="M2008.28,-3331.28C2025.52,-3326.8 2042.12,-3318.82 2053.35,-3305 2068.61,-3286.23 2089.48,-2459.17 2090.35,-2435 2092.79,-2367.51 2083.94,-1272.55 2126.35,-1220 2136.8,-1207.06 2151.72,-1199.01 2167.64,-1194.11"/>
<polygon fill="black" stroke="black" points="2168.89,-1197.4 2177.66,-1191.45 2167.09,-1190.63 2168.89,-1197.4"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge146" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge146"><a xlink:title="at caller.go:144: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:145: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M2004.9,-3341.44C2022.47,-3346.03 2040.08,-3353.6 2053.35,-3366 2090.02,-3400.25 2063.75,-3429.85 2089.35,-3473 2101.71,-3493.83 2104.69,-3502.16 2126.35,-3513 2184.1,-3541.89 2350.79,-3543 2415.36,-3543 2415.36,-3543 2415.36,-3543 2842.37,-3543 2923.62,-3543 2925.69,-3477.55 2962.27,-3405 2995.48,-3339.14 2945.07,-3294.09 2998.27,-3243 3020.78,-3221.38 3056.92,-3217.18 3084.07,-3217.61"/>
<polygon fill="black" stroke="black" points="3084.23,-3221.12 3094.35,-3217.99 3084.49,-3214.12 3084.23,-3221.12"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge267" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge267"><a xlink:title="at caller.go:149: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M1990.63,-3322.98C2019.95,-3316.77 2056.55,-3309.21 2089.35,-3303 2244.75,-3273.57 2429.44,-3243.19 2516.81,-3229.09"/>
<polygon fill="black" stroke="black" points="2517.4,-3232.54 2526.72,-3227.49 2516.29,-3225.63 2517.4,-3232.54"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge254" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge254"><a xlink:title="at caller.go:152: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="black" d="M2007.99,-3339.3C2025.34,-3343.92 2042.07,-3352.04 2053.35,-3366 2109.56,-3435.55 2047.07,-4091.21 2089.35,-4170 2124.91,-4236.25 2176.67,-4217 2251.86,-4217 2251.86,-4217 2251.86,-4217 2416.36,-4217 2560.39,-4217 2731.56,-4229.82 2804.54,-4235.88"/>
<polygon fill="black" stroke="black" points="2804.32,-4239.38 2814.58,-4236.73 2804.91,-4232.4 2804.32,-4239.38"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact -->
<g id="node48" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact</title>
<g id="a_node48"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact | defined in caller.go:160&#10;at caller.go:167: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]&#10;at caller.go:162: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:163: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:161: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:161: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact]&#10;at caller.go:170: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3457" rx="97.81" ry="18"/>
<text text-anchor="middle" x="1934" y="-3453.3" font-family="Verdana" font-size="14.00">WebWxBatchGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge242" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge242"><a xlink:title="at caller.go:161: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2020.6,-3465.54C2033.2,-3470.42 2044.79,-3477.58 2053.35,-3488 2137.28,-3590.19 1993.06,-3991.36 2089.35,-4082 2159.64,-4148.15 2055.4,-3933.44 2126.35,-3868 2150.13,-3846.07 2384.21,-3846.51 2416.36,-3843 2439.61,-3840.46 2464.82,-3837.29 2487.86,-3834.23"/>
<polygon fill="black" stroke="black" points="2488.49,-3837.67 2497.93,-3832.87 2487.56,-3830.73 2488.49,-3837.67"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact -->
<g id="node70" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact</title>
<g id="a_node70"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact | defined in client.go:185&#10;at client.go:200: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:191: calling [github.com/eatMoreApple/openwechat.NewUserDetailItemList]&#10;at client.go:194: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at client.go:197: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1738" rx="97.81" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1734.3" font-family="Verdana" font-size="14.00">WebWxBatchGetContact</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact -->
<g id="edge294" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact</title>
<g id="a_edge294"><a xlink:title="at caller.go:161: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact]">
<path fill="none" stroke="black" d="M2021.86,-3448.85C2033.99,-3444.07 2045.11,-3437.1 2053.35,-3427 2163.27,-3292.44 2082.68,-2819.58 2090.35,-2646 2092.51,-2597.28 2095.51,-1806.77 2126.35,-1769 2133.47,-1760.28 2142.62,-1753.79 2152.72,-1748.99"/>
<polygon fill="black" stroke="black" points="2154.35,-1752.1 2162.24,-1745.04 2151.67,-1745.64 2154.35,-1752.1"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge55" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge55"><a xlink:title="at caller.go:162: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:163: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M2020.67,-3465.48C2033.26,-3470.36 2044.84,-3477.54 2053.35,-3488 2156.86,-3615.1 1978.14,-4151.99 2126.35,-4222 2228.03,-4270.03 2267.07,-4227.92 2379.36,-4222 2408.93,-4220.44 2880.56,-4172.85 2909.37,-4166 2933.83,-4160.19 2947.57,-4166.39 2962.27,-4146 3020.99,-4064.54 2932.34,-3318.74 2998.27,-3243 3019.23,-3218.92 3056.83,-3215.34 3084.81,-3216.6"/>
<polygon fill="black" stroke="black" points="3084.79,-3220.1 3095.01,-3217.28 3085.26,-3213.12 3084.79,-3220.1"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge12" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge12"><a xlink:title="at caller.go:167: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M2012.99,-3446.29C2027.31,-3441.89 2041.46,-3435.7 2053.35,-3427 2077.84,-3409.08 2064.65,-3386.62 2089.35,-3369 2196.97,-3292.24 2253.78,-3344.27 2379.36,-3303 2433.64,-3285.16 2493.73,-3257.49 2531.04,-3239.3"/>
<polygon fill="black" stroke="black" points="2532.58,-3242.44 2540.01,-3234.9 2529.5,-3236.16 2532.58,-3242.44"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge319" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge319"><a xlink:title="at caller.go:170: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="black" d="M2020.73,-3465.43C2033.31,-3470.32 2044.87,-3477.51 2053.35,-3488 2108.61,-3556.32 2029.65,-4213.52 2089.35,-4278 2138.79,-4331.4 2179.09,-4298 2251.86,-4298 2251.86,-4298 2251.86,-4298 2569.42,-4298 2637.58,-4298 2655.01,-4293.13 2721.47,-4278 2751.31,-4271.21 2784.31,-4260.08 2807.96,-4251.45"/>
<polygon fill="black" stroke="black" points="2809.33,-4254.67 2817.49,-4247.92 2806.9,-4248.11 2809.33,-4254.67"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="node49" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_node49"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg | defined in caller.go:191&#10;at caller.go:193: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]&#10;at caller.go:192: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3518" rx="69.11" ry="18"/>
<text text-anchor="middle" x="1934" y="-3514.3" font-family="Verdana" font-size="14.00">WebWxSendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="edge66" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_edge66"><a xlink:title="at caller.go:193: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<path fill="none" stroke="black" d="M1936.72,-3536.28C1945.92,-3630.03 1992.64,-4055.56 2089.35,-4136 2112.39,-4155.16 2144.21,-4160.17 2173.59,-4159.46"/>
<polygon fill="black" stroke="black" points="2174.04,-4162.94 2183.86,-4158.98 2173.71,-4155.95 2174.04,-4162.94"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg -->
<g id="node72" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg</title>
<g id="a_node72"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg | defined in client.go:237&#10;at client.go:244: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-1668" rx="69.11" ry="18"/>
<text text-anchor="middle" x="1934" y="-1664.3" font-family="Verdana" font-size="14.00">WebWxSendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg -->
<g id="edge321" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg</title>
<g id="a_edge321"><a xlink:title="at caller.go:192: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg]">
<path fill="none" stroke="black" d="M1864.69,-3518.17C1835.21,-3514 1804.84,-3502.75 1792.64,-3475.5 1782.63,-3453.14 1782.63,-1733.86 1792.64,-1711.5 1803.44,-1687.4 1828.38,-1675.64 1854.35,-1670.2"/>
<polygon fill="black" stroke="black" points="1855.11,-1673.62 1864.33,-1668.41 1853.87,-1666.73 1855.11,-1673.62"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia -->
<g id="node50" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia</title>
<g id="a_node50"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).UploadMedia | defined in caller.go:202&#10;at caller.go:206: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:207: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:216: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]&#10;at caller.go:204: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:213: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]&#10;at caller.go:204: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-3469" rx="54.4" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-3465.3" font-family="Verdana" font-size="14.00">UploadMedia</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge179" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge179"><a xlink:title="at caller.go:204: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2285.25,-3483.51C2312.28,-3497.05 2351.26,-3519.17 2379.36,-3546 2460.88,-3623.85 2526.81,-3742.71 2553.99,-3795.77"/>
<polygon fill="black" stroke="black" points="2550.97,-3797.55 2558.61,-3804.89 2557.21,-3794.39 2550.97,-3797.55"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk -->
<g id="node73" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk</title>
<g id="a_node73"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk | defined in client.go:254&#10;at client.go:386: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at client.go:280: calling [github.com/eatMoreApple/openwechat.getMessageType]&#10;at client.go:387: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at client.go:256: calling [github.com/eatMoreApple/openwechat.GetFileContentType]&#10;at client.go:382: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:289: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1799" rx="117.91" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1795.3" font-family="Verdana" font-size="14.00">WebWxUploadMediaByChunk</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk -->
<g id="edge257" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk</title>
<g id="a_edge257"><a xlink:title="at caller.go:204: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk]">
<path fill="none" stroke="black" d="M2198.23,-3470.51C2164.59,-3468.04 2124.84,-3458.01 2108.35,-3426.5 2087.84,-3387.29 2087.84,-1872.71 2108.35,-1833.5 2113.85,-1822.98 2122.05,-1815.13 2131.79,-1809.33"/>
<polygon fill="black" stroke="black" points="2133.42,-1812.42 2140.71,-1804.74 2130.22,-1806.2 2133.42,-1812.42"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge157" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge157"><a xlink:title="at caller.go:206: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at caller.go:207: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M2307.36,-3468.6C2332.33,-3465.62 2360.61,-3457.8 2379.36,-3439 2391.82,-3426.51 2438.82,-3141.3 2452.36,-3130 2475.26,-3110.89 2690.64,-3116 2720.47,-3116 2720.47,-3116 2720.47,-3116 2842.37,-3116 2939.82,-3116 3044.82,-3173.13 3093.21,-3203.11"/>
<polygon fill="black" stroke="black" points="3091.52,-3206.18 3101.85,-3208.54 3095.25,-3200.25 3091.52,-3206.18"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON -->
<g id="edge212" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON</title>
<g id="a_edge212"><a xlink:title="at caller.go:213: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON]">
<path fill="none" stroke="black" d="M2305.49,-3464.02C2329.31,-3459.94 2357.16,-3452.51 2379.36,-3439 2460.25,-3389.76 2524.4,-3294.01 2552.29,-3247.56"/>
<polygon fill="black" stroke="black" points="2555.46,-3249.08 2557.54,-3238.69 2549.44,-3245.52 2555.46,-3249.08"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok -->
<g id="edge158" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).UploadMedia&#45;&gt;(github.com/eatMoreApple/openwechat.BaseResponse).Ok</title>
<g id="a_edge158"><a xlink:title="at caller.go:216: calling [(github.com/eatMoreApple/openwechat.BaseResponse).Ok]">
<path fill="none" stroke="black" d="M2304.71,-3474.51C2336.48,-3477.76 2378.26,-3481.67 2415.36,-3484 2432.34,-3485.07 2708.71,-3482.75 2721.47,-3494 2831.26,-3590.8 2839.97,-4086.44 2840.42,-4210.71"/>
<polygon fill="black" stroke="black" points="2836.92,-4210.94 2840.44,-4220.93 2843.92,-4210.92 2836.92,-4210.94"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="node51" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_node51"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg | defined in caller.go:226&#10;at caller.go:236: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]&#10;at caller.go:233: calling [github.com/eatMoreApple/openwechat.NewMediaSendMessage]&#10;at caller.go:228: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]&#10;at caller.go:235: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3152" rx="94.11" ry="18"/>
<text text-anchor="middle" x="1934" y="-3148.3" font-family="Verdana" font-size="14.00">WebWxSendImageMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="edge37" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_edge37"><a xlink:title="at caller.go:236: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<path fill="none" stroke="black" d="M2018.94,-3159.76C2032.22,-3164.65 2044.47,-3172.02 2053.35,-3183 2108.68,-3251.41 2072.93,-3887.57 2089.35,-3974 2098.82,-4023.85 2093.1,-4043.68 2126.35,-4082 2143.68,-4101.97 2168.75,-4116.49 2191.94,-4126.6"/>
<polygon fill="black" stroke="black" points="2190.82,-4129.92 2201.39,-4130.53 2193.5,-4123.45 2190.82,-4129.92"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.NewMediaSendMessage -->
<g id="edge106" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;github.com/eatMoreApple/openwechat.NewMediaSendMessage</title>
<g id="a_edge106"><a xlink:title="at caller.go:233: calling [github.com/eatMoreApple/openwechat.NewMediaSendMessage]">
<path fill="none" stroke="black" d="M2019.28,-3144.22C2032.27,-3139.48 2044.33,-3132.42 2053.35,-3122 2066.08,-3107.3 2113.09,-2440.21 2126.35,-2426 2132.32,-2419.61 2139.44,-2414.66 2147.2,-2410.87"/>
<polygon fill="black" stroke="black" points="2148.72,-2414.03 2156.59,-2406.94 2146.02,-2407.58 2148.72,-2414.03"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia -->
<g id="edge110" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia</title>
<g id="a_edge110"><a xlink:title="at caller.go:228: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]">
<path fill="none" stroke="black" d="M2017.8,-3160.37C2031.27,-3165.19 2043.89,-3172.37 2053.35,-3183 2129.19,-3268.14 2010.92,-3354.24 2089.35,-3437 2114.63,-3463.67 2155.16,-3471.69 2189.42,-3473.03"/>
<polygon fill="black" stroke="black" points="2189.75,-3476.54 2199.82,-3473.24 2189.9,-3469.54 2189.75,-3476.54"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg -->
<g id="node74" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg</title>
<g id="a_node74"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg | defined in client.go:399&#10;at client.go:408: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-1790" rx="84.91" ry="18"/>
<text text-anchor="middle" x="1934" y="-1786.3" font-family="Verdana" font-size="14.00">WebWxSendMsgImg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg -->
<g id="edge203" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg</title>
<g id="a_edge203"><a xlink:title="at caller.go:235: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]">
<path fill="none" stroke="black" d="M1842.44,-3147.49C1821,-3141.27 1801.75,-3129.85 1792.64,-3109.5 1778.95,-3078.92 1778.95,-1934.08 1792.64,-1903.5 1811.59,-1861.18 1855.55,-1829.98 1889.46,-1811.11"/>
<polygon fill="black" stroke="black" points="1891.14,-1814.18 1898.28,-1806.35 1887.82,-1808.02 1891.14,-1814.18"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog -->
<g id="node52" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog</title>
<g id="a_node52"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog | defined in caller.go:197&#10;at caller.go:199: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at caller.go:198: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxOplog]&#10;at caller.go:198: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2664" rx="56.2" ry="18"/>
<text text-anchor="middle" x="1934" y="-2660.3" font-family="Verdana" font-size="14.00">WebWxOplog</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge204" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge204"><a xlink:title="at caller.go:198: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1990.17,-2664.64C2013.3,-2667.96 2038.28,-2676.19 2053.35,-2695 2121.64,-2780.2 2041.37,-3578.93 2089.35,-3677 2138.37,-3777.18 2277.29,-3711.67 2379.36,-3740 2432.78,-3754.83 2490.61,-3782.22 2527.83,-3801.47"/>
<polygon fill="black" stroke="black" points="2526.35,-3804.64 2536.83,-3806.18 2529.59,-3798.44 2526.35,-3804.64"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge42" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge42"><a xlink:title="at caller.go:199: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M1989.84,-2661.99C2012.2,-2658.43 2036.67,-2650.59 2053.35,-2634 2099.11,-2588.51 2081.48,-2399.36 2126.35,-2353 2136.08,-2342.95 2148.38,-2335.6 2161.47,-2330.22"/>
<polygon fill="black" stroke="black" points="2162.94,-2333.41 2171.1,-2326.65 2160.51,-2326.84 2162.94,-2333.41"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog -->
<g id="node75" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog</title>
<g id="a_node75"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxOplog | defined in client.go:423&#10;at client.go:434: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:437: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1067" rx="56.2" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1063.3" font-family="Verdana" font-size="14.00">WebWxOplog</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxOplog -->
<g id="edge183" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxOplog</title>
<g id="a_edge183"><a xlink:title="at caller.go:198: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxOplog]">
<path fill="none" stroke="black" d="M1990.32,-2663.72C2013.34,-2660.55 2038.17,-2652.53 2053.35,-2634 2079.4,-2602.2 2088.4,-1936.06 2090.35,-1895 2092.46,-1850.73 2098.25,-1132.27 2126.35,-1098 2141.04,-1080.09 2164.29,-1071.58 2186.81,-1067.8"/>
<polygon fill="black" stroke="black" points="2187.31,-1071.27 2196.73,-1066.42 2186.34,-1064.34 2187.31,-1071.27"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom -->
<g id="node53" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom</title>
<g id="a_node53"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom | defined in caller.go:268&#10;at caller.go:272: calling [(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom]&#10;at caller.go:272: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:273: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2786" rx="99.61" ry="18"/>
<text text-anchor="middle" x="1934" y="-2782.3" font-family="Verdana" font-size="14.00">AddFriendIntoChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge196" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge196"><a xlink:title="at caller.go:272: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2021.69,-2794.73C2033.92,-2799.62 2045.11,-2806.73 2053.35,-2817 2132.67,-2915.8 2028.88,-3874.05 2126.35,-3955 2147.98,-3972.96 2352.56,-3963.47 2379.36,-3955 2445.91,-3933.97 2509.34,-3880.03 2542.82,-3847.98"/>
<polygon fill="black" stroke="black" points="2545.56,-3850.21 2550.29,-3840.73 2540.68,-3845.19 2545.56,-3850.21"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge308" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge308"><a xlink:title="at caller.go:273: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M2020.44,-2776.98C2032.82,-2772.32 2044.39,-2765.61 2053.35,-2756 2084.4,-2722.73 2095.95,-2386.86 2126.35,-2353 2135.51,-2342.8 2147.33,-2335.35 2160.04,-2329.93"/>
<polygon fill="black" stroke="black" points="2161.35,-2333.17 2169.43,-2326.32 2158.84,-2326.64 2161.35,-2333.17"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom -->
<g id="node76" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom</title>
<g id="a_node76"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom | defined in client.go:530&#10;at client.go:546: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:549: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1372" rx="106.91" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1368.3" font-family="Verdana" font-size="14.00">AddMemberIntoChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom -->
<g id="edge44" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom</title>
<g id="a_edge44"><a xlink:title="at caller.go:272: calling [(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom]">
<path fill="none" stroke="black" d="M2021.96,-2777.57C2034,-2772.82 2045.06,-2765.92 2053.35,-2756 2091.27,-2710.62 2087,-2284.05 2090.35,-2225 2092.94,-2179.36 2097.39,-1438.36 2126.35,-1403 2132.63,-1395.33 2140.48,-1389.39 2149.17,-1384.8"/>
<polygon fill="black" stroke="black" points="2150.88,-1387.86 2158.5,-1380.49 2147.95,-1381.51 2150.88,-1387.86"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg -->
<g id="node54" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg</title>
<g id="a_node54"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg | defined in caller.go:292&#10;at caller.go:293: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:294: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at caller.go:293: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2847" rx="77.61" ry="18"/>
<text text-anchor="middle" x="1934" y="-2843.3" font-family="Verdana" font-size="14.00">WebWxRevokeMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge101" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge101"><a xlink:title="at caller.go:293: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2009.27,-2851.6C2026.18,-2856.27 2042.37,-2864.34 2053.35,-2878 2129.82,-2973.12 2032.13,-3896.43 2126.35,-3974 2176.11,-4014.96 2356.82,-3998.66 2416.36,-3974 2477.32,-3948.76 2526.51,-3885.66 2550.84,-3849.53"/>
<polygon fill="black" stroke="black" points="2553.91,-3851.24 2556.49,-3840.96 2548.06,-3847.38 2553.91,-3851.24"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge174" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge174"><a xlink:title="at caller.go:294: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M2008.78,-2841.98C2025.49,-2837.44 2041.71,-2829.77 2053.35,-2817 2057.75,-2812.18 2122.05,-2357.9 2126.35,-2353 2135.25,-2342.86 2146.76,-2335.44 2159.21,-2330.01"/>
<polygon fill="black" stroke="black" points="2160.84,-2333.13 2168.88,-2326.24 2158.29,-2326.61 2160.84,-2333.13"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg -->
<g id="node79" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg</title>
<g id="a_node79"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg | defined in client.go:575&#10;at client.go:585: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:582: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1433" rx="77.61" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1429.3" font-family="Verdana" font-size="14.00">WebWxRevokeMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg -->
<g id="edge244" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg</title>
<g id="a_edge244"><a xlink:title="at caller.go:293: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg]">
<path fill="none" stroke="black" d="M2009.6,-2842.7C2026.3,-2838.15 2042.31,-2830.28 2053.35,-2817 2093.8,-2768.38 2086.85,-2312.15 2090.35,-2249 2092.77,-2205.41 2098.66,-1497.75 2126.35,-1464 2136.61,-1451.5 2151.04,-1443.58 2166.47,-1438.65"/>
<polygon fill="black" stroke="black" points="2167.48,-1442.01 2176.18,-1435.96 2165.61,-1435.26 2167.48,-1442.01"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge290" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge290"><a xlink:title="at caller.go:263: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M1964.77,-2906.66C1992.42,-2907.2 2032.39,-2912.93 2053.35,-2939 2127.48,-3031.17 2033.87,-3927.26 2126.35,-4001 2151.55,-4021.09 2387.12,-4014.54 2416.36,-4001 2483.92,-3969.72 2532.3,-3891.68 2554.24,-3850.09"/>
<polygon fill="black" stroke="black" points="2557.42,-3851.57 2558.88,-3841.08 2551.19,-3848.37 2557.42,-3851.57"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge186" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge186"><a xlink:title="at caller.go:264: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M1964.97,-2909.12C1992.17,-2908.39 2031.29,-2902.63 2053.35,-2878 2092.64,-2834.13 2087.91,-2397.62 2126.35,-2353 2135.15,-2342.78 2146.62,-2335.31 2159.05,-2329.87"/>
<polygon fill="black" stroke="black" points="2160.67,-2332.99 2168.71,-2326.09 2158.12,-2326.47 2160.67,-2332.99"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Logout -->
<g id="node80" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).Logout</title>
<g id="a_node80"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).Logout | defined in client.go:518&#10;at client.go:526: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-945" rx="30.6" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-941.3" font-family="Verdana" font-size="14.00">Logout</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Logout -->
<g id="edge209" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Logout</title>
<g id="a_edge209"><a xlink:title="at caller.go:263: calling [(*github.com/eatMoreApple/openwechat.Client).Logout]">
<path fill="none" stroke="black" d="M1964.75,-2909.62C1992.39,-2909.32 2032.35,-2903.95 2053.35,-2878 2087.04,-2836.39 2088.3,-1968.5 2090.35,-1915 2092.35,-1862.83 2093.39,-1016.48 2126.35,-976 2146.61,-951.12 2183.38,-944.36 2211.9,-943.24"/>
<polygon fill="black" stroke="black" points="2212.05,-946.74 2221.99,-943.06 2211.93,-939.74 2212.05,-946.74"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg -->
<g id="node56" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg</title>
<g id="a_node56"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg | defined in caller.go:256&#10;at caller.go:258: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]&#10;at caller.go:257: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-3408" rx="84.31" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-3404.3" font-family="Verdana" font-size="14.00">WebWxSendAppMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage -->
<g id="edge205" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;github.com/eatMoreApple/openwechat.getSuccessSentMessage</title>
<g id="a_edge205"><a xlink:title="at caller.go:258: calling [github.com/eatMoreApple/openwechat.getSuccessSentMessage]">
<path fill="none" stroke="black" d="M2169.65,-3411.17C2144.46,-3416.92 2120.31,-3428.63 2108.35,-3451.5 2083.07,-3499.84 2091.78,-3890.52 2108.35,-3942.5 2131.67,-4015.61 2191.89,-4084.96 2226.79,-4120.76"/>
<polygon fill="black" stroke="black" points="2224.72,-4123.65 2234.24,-4128.3 2229.7,-4118.73 2224.72,-4123.65"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg -->
<g id="node77" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg</title>
<g id="a_node77"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg | defined in client.go:412&#10;at client.go:419: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-1729" rx="84.31" ry="18"/>
<text text-anchor="middle" x="1934" y="-1725.3" font-family="Verdana" font-size="14.00">WebWxSendAppMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg -->
<g id="edge210" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg</title>
<g id="a_edge210"><a xlink:title="at caller.go:257: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]">
<path fill="none" stroke="black" d="M2168.78,-3409.25C2152.61,-3405.51 2137.31,-3398.46 2126.35,-3386 2006.96,-3250.16 2167.03,-1900.65 2053.35,-1760 2045.4,-1750.16 2034.74,-1743.22 2023.06,-1738.36"/>
<polygon fill="black" stroke="black" points="2024.1,-1735.02 2013.51,-1734.9 2021.72,-1741.6 2024.1,-1735.02"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom -->
<g id="node57" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom</title>
<g id="a_node57"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom | defined in caller.go:277&#10;at caller.go:282: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]&#10;at caller.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom]&#10;at caller.go:281: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2969" rx="119.21" ry="18"/>
<text text-anchor="middle" x="1934" y="-2965.3" font-family="Verdana" font-size="14.00">RemoveFriendFromChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge310" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge310"><a xlink:title="at caller.go:281: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2027.5,-2980.29C2037.44,-2985.01 2046.43,-2991.39 2053.35,-3000 2115.6,-3077.37 2074.13,-3794.87 2089.35,-3893 2098.89,-3954.48 2076.89,-3990.27 2126.35,-4028 2151.97,-4047.54 2387.6,-4042.53 2416.36,-4028 2490.62,-3990.48 2537.33,-3897.34 2556.86,-3850.63"/>
<polygon fill="black" stroke="black" points="2560.2,-3851.72 2560.73,-3841.14 2553.72,-3849.08 2560.2,-3851.72"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge89" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge89"><a xlink:title="at caller.go:282: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M2027.37,-2957.69C2037.2,-2953.17 2046.2,-2947.1 2053.35,-2939 2096.78,-2889.81 2083.88,-2403.01 2126.35,-2353 2135.08,-2342.72 2146.51,-2335.22 2158.92,-2329.76"/>
<polygon fill="black" stroke="black" points="2160.54,-2332.88 2168.57,-2325.97 2157.98,-2326.37 2160.54,-2332.88"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom -->
<g id="node82" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom</title>
<g id="a_node82"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom | defined in client.go:553&#10;at client.go:571: calling [(*github.com/eatMoreApple/openwechat.Client).Do]&#10;at client.go:568: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1494" rx="126.51" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1490.3" font-family="Verdana" font-size="14.00">RemoveMemberFromChatRoom</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom -->
<g id="edge138" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom</title>
<g id="a_edge138"><a xlink:title="at caller.go:281: calling [(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom]">
<path fill="none" stroke="black" d="M2028.39,-2957.8C2037.92,-2953.25 2046.57,-2947.14 2053.35,-2939 2092.71,-2891.78 2087.01,-2448.38 2090.35,-2387 2092.96,-2339.14 2096.02,-1562.11 2126.35,-1525 2131.23,-1519.03 2137.07,-1514.1 2143.51,-1510.04"/>
<polygon fill="black" stroke="black" points="2145.56,-1512.91 2152.64,-1505.04 2142.19,-1506.77 2145.56,-1512.91"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="node58" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_node58"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile | defined in caller.go:239&#10;at caller.go:246: calling [github.com/eatMoreApple/openwechat.NewFileAppMessage]&#10;at caller.go:251: calling [github.com/eatMoreApple/openwechat.NewSendMessage]&#10;at caller.go:252: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg]&#10;at caller.go:240: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]&#10;at caller.go:247: calling [(github.com/eatMoreApple/openwechat.appmsg).XmlByte]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3091" rx="66.6" ry="18"/>
<text text-anchor="middle" x="1934" y="-3087.3" font-family="Verdana" font-size="14.00">WebWxSendFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge129" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge129"><a xlink:title="at caller.go:251: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="black" d="M1999.98,-3088.57C2019.84,-3084.52 2039.95,-3076.46 2053.35,-3061 2065.92,-3046.5 2112.08,-2386.83 2126.35,-2374 2152.49,-2350.49 2368.11,-2363.28 2487.9,-2372.39"/>
<polygon fill="black" stroke="black" points="2487.88,-2375.9 2498.12,-2373.18 2488.42,-2368.92 2487.88,-2375.9"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewFileAppMessage -->
<g id="edge104" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;github.com/eatMoreApple/openwechat.NewFileAppMessage</title>
<g id="a_edge104"><a xlink:title="at caller.go:246: calling [github.com/eatMoreApple/openwechat.NewFileAppMessage]">
<path fill="none" stroke="black" d="M1989.08,-3080.74C2009.63,-3075.95 2032.98,-3069.42 2053.35,-3061 2247.98,-2980.57 2457.06,-2836 2535.39,-2779.52"/>
<polygon fill="black" stroke="black" points="2537.81,-2782.09 2543.86,-2773.39 2533.7,-2776.42 2537.81,-2782.09"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia -->
<g id="edge180" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).UploadMedia</title>
<g id="a_edge180"><a xlink:title="at caller.go:240: calling [(*github.com/eatMoreApple/openwechat.Caller).UploadMedia]">
<path fill="none" stroke="black" d="M1999.81,-3094.18C2019.67,-3098.42 2039.81,-3106.61 2053.35,-3122 2135.93,-3215.88 2034.95,-3288.43 2089.35,-3401 2107.37,-3438.28 2151.79,-3455.15 2189.64,-3462.77"/>
<polygon fill="black" stroke="black" points="2189.14,-3466.23 2199.61,-3464.6 2190.4,-3459.35 2189.14,-3466.23"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg -->
<g id="edge141" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg</title>
<g id="a_edge141"><a xlink:title="at caller.go:252: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendAppMsg]">
<path fill="none" stroke="black" d="M1999.78,-3094.21C2019.63,-3098.45 2039.79,-3106.63 2053.35,-3122 2134.04,-3213.43 2001.18,-3309.76 2089.35,-3394 2112.82,-3416.42 2147.84,-3421.57 2179.37,-3420.42"/>
<polygon fill="black" stroke="black" points="2179.68,-3423.91 2189.46,-3419.84 2179.28,-3416.92 2179.68,-3423.91"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.appmsg).XmlByte -->
<g id="node215" class="node">
<title>(github.com/eatMoreApple/openwechat.appmsg).XmlByte</title>
<g id="a_node215"><a xlink:title="(github.com/eatMoreApple/openwechat.appmsg).XmlByte | defined in message.go:500">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-3603" rx="36.7" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-3599.3" font-family="Verdana" font-size="14.00">XmlByte</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(github.com/eatMoreApple/openwechat.appmsg).XmlByte -->
<g id="edge286" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile&#45;&gt;(github.com/eatMoreApple/openwechat.appmsg).XmlByte</title>
<g id="a_edge286"><a xlink:title="at caller.go:247: calling [(github.com/eatMoreApple/openwechat.appmsg).XmlByte]">
<path fill="none" stroke="black" d="M1999.84,-3094.16C2019.69,-3098.39 2039.84,-3106.59 2053.35,-3122 2095.59,-3170.16 2077.25,-3345.1 2089.35,-3408 2101.67,-3472.04 2083.69,-3500.67 2126.35,-3550 2147.23,-3574.14 2180.96,-3587.56 2208.2,-3594.85"/>
<polygon fill="black" stroke="black" points="2207.36,-3598.24 2217.91,-3597.26 2209.05,-3591.45 2207.36,-3598.24"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser -->
<g id="node59" class="node">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser</title>
<g id="a_node59"><a xlink:title="(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser | defined in caller.go:286&#10;at caller.go:287: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser]&#10;at caller.go:287: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]&#10;at caller.go:288: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-3030" rx="73.91" ry="18"/>
<text text-anchor="middle" x="1934" y="-3026.3" font-family="Verdana" font-size="14.00">WebWxVerifyUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge116" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge116"><a xlink:title="at caller.go:287: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2006.18,-3033.79C2024.19,-3038.32 2041.7,-3046.52 2053.35,-3061 2115.12,-3137.76 2071.2,-3850.16 2089.35,-3947 2098.7,-3996.87 2085.07,-4025.5 2126.35,-4055 2178.79,-4092.46 2359.71,-4085.72 2416.36,-4055 2497.59,-4010.96 2542.01,-3902.22 2559.09,-3850.8"/>
<polygon fill="black" stroke="black" points="2562.5,-3851.62 2562.24,-3841.03 2555.84,-3849.47 2562.5,-3851.62"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge117" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge117"><a xlink:title="at caller.go:288: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M2006.09,-3026.13C2023.88,-3021.72 2041.3,-3013.82 2053.35,-3000 2100.92,-2945.49 2079.84,-2408.41 2126.35,-2353 2134.96,-2342.74 2146.27,-2335.24 2158.57,-2329.78"/>
<polygon fill="black" stroke="black" points="2160.13,-2332.93 2168.14,-2325.99 2157.55,-2326.42 2160.13,-2332.93"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser -->
<g id="node83" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser</title>
<g id="a_node83"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser | defined in client.go:441&#10;at client.go:462: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:465: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1616" rx="73.91" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1612.3" font-family="Verdana" font-size="14.00">WebWxVerifyUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser -->
<g id="edge20" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser</title>
<g id="a_edge20"><a xlink:title="at caller.go:287: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser]">
<path fill="none" stroke="black" d="M2006.21,-3026.23C2023.99,-3021.82 2041.39,-3013.89 2053.35,-3000 2080.32,-2968.7 2087.54,-2671.22 2090.35,-2630 2094.07,-2575.48 2091.88,-1689.4 2126.35,-1647 2137.24,-1633.61 2152.91,-1625.46 2169.51,-1620.62"/>
<polygon fill="black" stroke="black" points="2170.52,-1623.98 2179.37,-1618.14 2168.81,-1617.19 2170.52,-1623.98"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="node61" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_node61"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).Do | defined in client.go:48">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2568.42" cy="-1128" rx="27" ry="18"/>
<text text-anchor="middle" x="2568.42" y="-1124.3" font-family="Verdana" font-size="14.00">Do</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge48" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginUUID&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge48"><a xlink:title="at client.go:80: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2310.91,-766.21C2334.02,-770.29 2359.81,-778.11 2379.36,-793 2486.43,-874.52 2541.54,-1035.64 2560.09,-1100.24"/>
<polygon fill="black" stroke="black" points="2556.78,-1101.42 2562.85,-1110.1 2563.52,-1099.53 2556.78,-1101.42"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge121" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).CheckLogin&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge121"><a xlink:title="at client.go:101: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2301,-826.54C2326.08,-830.32 2356.39,-838.09 2379.36,-854 2472.68,-918.63 2533.64,-1045.77 2556.86,-1101.15"/>
<polygon fill="black" stroke="black" points="2553.71,-1102.71 2560.75,-1110.63 2560.19,-1100.05 2553.71,-1102.71"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge200" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).GetLoginInfo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge200"><a xlink:title="at client.go:109: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2304.82,-889.46C2328.76,-893.75 2356.9,-901.39 2379.36,-915 2459.68,-963.67 2524.54,-1057.76 2552.51,-1102.79"/>
<polygon fill="black" stroke="black" points="2549.56,-1104.66 2557.76,-1111.36 2555.53,-1101.01 2549.56,-1104.66"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge253" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge253"><a xlink:title="at client.go:119: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2287.48,-1126.46C2316.34,-1127.13 2356.76,-1133.15 2379.36,-1159 2428.66,-1215.37 2401.58,-1773.96 2452.36,-1829 2469.74,-1847.83 2497.88,-1853.46 2521.98,-1854.31"/>
<polygon fill="black" stroke="black" points="2521.99,-1857.81 2532.02,-1854.41 2522.06,-1850.81 2521.99,-1857.81"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge284" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebInit&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge284"><a xlink:title="at client.go:125: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2287.71,-1128C2347.17,-1128 2469.83,-1128 2531.03,-1128"/>
<polygon fill="black" stroke="black" points="2531.36,-1131.5 2541.36,-1128 2531.36,-1124.5 2531.36,-1131.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge236" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge236"><a xlink:title="at client.go:143: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2331.63,-1254.41C2349.58,-1259.09 2367.01,-1267.21 2379.36,-1281 2420.35,-1326.75 2410.17,-1784.36 2452.36,-1829 2469.96,-1847.62 2498.11,-1853.24 2522.16,-1854.15"/>
<polygon fill="black" stroke="black" points="2522.13,-1857.65 2532.17,-1854.27 2522.21,-1850.65 2522.13,-1857.65"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge16" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxStatusNotify&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge16"><a xlink:title="at client.go:146: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2322.06,-1240.55C2341.36,-1236.09 2361.86,-1229.55 2379.36,-1220 2418.82,-1198.47 2412.42,-1170.62 2452.36,-1150 2476.81,-1137.38 2507.54,-1131.95 2531.1,-1129.64"/>
<polygon fill="black" stroke="black" points="2531.69,-1133.1 2541.37,-1128.78 2531.11,-1126.13 2531.69,-1133.1"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId -->
<g id="edge145" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;github.com/eatMoreApple/openwechat.GetRandomDeviceId</title>
<g id="a_edge145"><a xlink:title="at client.go:157: calling [github.com/eatMoreApple/openwechat.GetRandomDeviceId]">
<path fill="none" stroke="black" d="M2300.45,-1677.17C2326.94,-1679.75 2358.81,-1687.44 2379.36,-1708 2475.16,-1803.83 2357.19,-1907.56 2452.36,-2004 2460.74,-2012.49 2471.21,-2018.68 2482.39,-2023.17"/>
<polygon fill="black" stroke="black" points="2481.32,-2026.51 2491.91,-2026.56 2483.66,-2019.91 2481.32,-2026.51"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge64" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).SyncCheck&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge64"><a xlink:title="at client.go:169: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2300.28,-1678.05C2327.21,-1676.05 2359.61,-1668.71 2379.36,-1647 2417.87,-1604.67 2407.04,-1448.62 2415.36,-1392 2423.27,-1338.18 2414.62,-1189.18 2452.36,-1150 2472.45,-1129.15 2505.78,-1124.69 2531.42,-1124.83"/>
<polygon fill="black" stroke="black" points="2531.42,-1128.33 2541.52,-1125.12 2531.62,-1121.34 2531.42,-1128.33"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge299" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSync&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge299"><a xlink:title="at client.go:220: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2299.26,-1014.82C2323.41,-1020.1 2353.4,-1027.63 2379.36,-1037 2437.77,-1058.08 2502.16,-1091.67 2538.41,-1111.6"/>
<polygon fill="black" stroke="black" points="2536.99,-1114.81 2547.43,-1116.6 2540.38,-1108.69 2536.99,-1114.81"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge285" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge285"><a xlink:title="at client.go:181: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2311.6,-1177.57C2351.2,-1169.76 2404.95,-1159.19 2452.36,-1150 2479.2,-1144.8 2509.57,-1138.99 2532.37,-1134.65"/>
<polygon fill="black" stroke="black" points="2533.1,-1138.08 2542.27,-1132.77 2531.79,-1131.2 2533.1,-1138.08"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge172" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge172"><a xlink:title="at client.go:197: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2323.38,-1750.57C2342,-1755.16 2361.83,-1761.21 2379.36,-1769 2397.5,-1777.06 2400.96,-1781.48 2416.36,-1794 2433.67,-1808.08 2432.57,-1818.69 2452.36,-1829 2473.54,-1840.03 2499.49,-1845.57 2521.38,-1848.33"/>
<polygon fill="black" stroke="black" points="2521.12,-1851.83 2531.44,-1849.45 2521.89,-1844.87 2521.12,-1851.83"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewUserDetailItemList -->
<g id="edge140" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;github.com/eatMoreApple/openwechat.NewUserDetailItemList</title>
<g id="a_edge140"><a xlink:title="at client.go:191: calling [github.com/eatMoreApple/openwechat.NewUserDetailItemList]">
<path fill="none" stroke="black" d="M2337.44,-1747.14C2352.63,-1751.84 2367.42,-1758.78 2379.36,-1769 2443.08,-1823.53 2389,-1888.06 2452.36,-1943 2460.6,-1950.14 2470.34,-1955.62 2480.61,-1959.8"/>
<polygon fill="black" stroke="black" points="2479.56,-1963.15 2490.16,-1963.3 2481.97,-1956.58 2479.56,-1963.15"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge127" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge127"><a xlink:title="at client.go:200: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2342.98,-1730.94C2356.78,-1726.13 2369.65,-1718.85 2379.36,-1708 2422.52,-1659.78 2406.95,-1483.17 2415.36,-1419 2423.2,-1359.17 2410.82,-1193.77 2452.36,-1150 2472.29,-1129 2505.65,-1124.55 2531.32,-1124.74"/>
<polygon fill="black" stroke="black" points="2531.34,-1128.25 2541.44,-1125.05 2531.56,-1121.25 2531.34,-1128.25"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Count -->
<g id="node198" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_node198"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Count | defined in user.go:414">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2171" rx="27.5" ry="18"/>
<text text-anchor="middle" x="1934" y="-2167.3" font-family="Verdana" font-size="14.00">Count</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge167" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxBatchGetContact&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge167"><a xlink:title="at client.go:194: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="black" d="M2164.6,-1745.94C2150.27,-1750.8 2136.73,-1758.11 2126.35,-1769 2068.24,-1829.99 2111.28,-2079.83 2053.35,-2141 2032.51,-2163.01 1998.02,-2169.79 1971.63,-2171.49"/>
<polygon fill="black" stroke="black" points="1971.44,-2168 1961.6,-2171.92 1971.74,-2174.99 1971.44,-2168"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="node71" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_node71"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).sendMessage | defined in client.go:224&#10;at client.go:230: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:233: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2252.86" cy="-701" rx="56.8" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-697.3" font-family="Verdana" font-size="14.00">sendMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge65" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge65"><a xlink:title="at client.go:230: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2309.76,-700.69C2334.83,-703.67 2362.49,-711.87 2379.36,-732 2418.59,-778.81 2411.9,-1783.25 2452.36,-1829 2469.46,-1848.33 2497.87,-1853.9 2522.18,-1854.61"/>
<polygon fill="black" stroke="black" points="2522.29,-1858.11 2532.3,-1854.64 2522.31,-1851.11 2522.29,-1858.11"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge230" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).sendMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge230"><a xlink:title="at client.go:233: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2308.89,-704.15C2332.73,-707.97 2359.63,-715.89 2379.36,-732 2500.75,-831.13 2548.53,-1027.02 2562.58,-1099.86"/>
<polygon fill="black" stroke="black" points="2559.21,-1100.88 2564.48,-1110.07 2566.09,-1099.6 2559.21,-1100.88"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="edge248" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_edge248"><a xlink:title="at client.go:244: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<path fill="none" stroke="black" d="M2002.68,-1665.25C2021.74,-1661.05 2040.7,-1652.98 2053.35,-1638 2118.53,-1560.85 2060.94,-808.95 2126.35,-732 2141.1,-714.65 2163.87,-706.18 2185.99,-702.28"/>
<polygon fill="black" stroke="black" points="2186.69,-705.72 2196.08,-700.8 2185.67,-698.79 2186.69,-705.72"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse -->
<g id="edge18" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.NewReturnResponse</title>
<g id="a_edge18"><a xlink:title="at client.go:386: calling [github.com/eatMoreApple/openwechat.NewReturnResponse]">
<path fill="none" stroke="black" d="M2360.64,-1806.45C2367.64,-1810.18 2374.01,-1814.95 2379.36,-1821 2432.13,-1880.67 2442.43,-3173.96 2452.36,-3253 2478.84,-3463.63 2539.45,-3712.82 2560.25,-3795.11"/>
<polygon fill="black" stroke="black" points="2556.9,-3796.12 2562.75,-3804.95 2563.68,-3794.4 2556.9,-3796.12"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.GetFileContentType -->
<g id="edge191" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.GetFileContentType</title>
<g id="a_edge191"><a xlink:title="at client.go:256: calling [github.com/eatMoreApple/openwechat.GetFileContentType]">
<path fill="none" stroke="black" d="M2277.69,-1816.68C2312.75,-1843.84 2378.17,-1899.1 2416.36,-1960 2442.57,-2001.79 2416.19,-2031.45 2452.36,-2065 2461.89,-2073.84 2473.69,-2080.14 2486.07,-2084.63"/>
<polygon fill="black" stroke="black" points="2485.02,-2087.97 2495.62,-2087.71 2487.18,-2081.31 2485.02,-2087.97"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getMessageType -->
<g id="edge26" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getMessageType</title>
<g id="a_edge26"><a xlink:title="at client.go:280: calling [github.com/eatMoreApple/openwechat.getMessageType]">
<path fill="none" stroke="black" d="M2261.81,-1817.3C2285.23,-1869.78 2358.25,-2023.52 2452.36,-2126 2475.16,-2150.82 2506.28,-2173.02 2530.41,-2188.35"/>
<polygon fill="black" stroke="black" points="2528.62,-2191.36 2538.96,-2193.68 2532.33,-2185.42 2528.62,-2191.36"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket -->
<g id="edge256" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket</title>
<g id="a_edge256"><a xlink:title="at client.go:289: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]">
<path fill="none" stroke="black" d="M2347.38,-1809.76C2358.43,-1812.66 2369.33,-1816.34 2379.36,-1821 2417.71,-1838.81 2414.77,-1862.64 2452.36,-1882 2464.77,-1888.39 2478.64,-1893.49 2492.35,-1897.55"/>
<polygon fill="black" stroke="black" points="2491.7,-1901 2502.27,-1900.32 2493.58,-1894.26 2491.7,-1901"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError -->
<g id="edge136" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;github.com/eatMoreApple/openwechat.parseBaseResponseError</title>
<g id="a_edge136"><a xlink:title="at client.go:387: calling [github.com/eatMoreApple/openwechat.parseBaseResponseError]">
<path fill="none" stroke="black" d="M2252.86,-1817.18C2252.86,-1974 2252.86,-2130.82 2252.86,-2287.65"/>
<polygon fill="black" stroke="black" points="2249.36,-2287.98 2252.86,-2297.98 2256.36,-2287.98 2249.36,-2287.98"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge231" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxUploadMediaByChunk&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge231"><a xlink:title="at client.go:382: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2350.97,-1789.01C2361.74,-1784.31 2371.6,-1777.83 2379.36,-1769 2429.23,-1712.27 2406.43,-1506.01 2415.36,-1431 2417.22,-1415.36 2441.55,-1161.45 2452.36,-1150 2472.23,-1128.94 2505.59,-1124.5 2531.29,-1124.71"/>
<polygon fill="black" stroke="black" points="2531.31,-1128.21 2541.42,-1125.03 2531.53,-1121.21 2531.31,-1128.21"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="edge258" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_edge258"><a xlink:title="at client.go:408: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<path fill="none" stroke="black" d="M2014.44,-1784.22C2029.34,-1779.51 2043.35,-1771.95 2053.35,-1760 2090.09,-1716.09 2089.48,-775.8 2126.35,-732 2141.02,-714.58 2163.77,-706.1 2185.9,-702.21"/>
<polygon fill="black" stroke="black" points="2186.61,-705.64 2195.99,-700.73 2185.59,-698.72 2186.61,-705.64"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge259" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge259"><a xlink:title="at client.go:434: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2309.15,-1066.9C2334.24,-1069.9 2362.09,-1078.07 2379.36,-1098 2432.81,-1159.7 2397.27,-1768.77 2452.36,-1829 2469.72,-1847.97 2497.99,-1853.57 2522.17,-1854.38"/>
<polygon fill="black" stroke="black" points="2522.21,-1857.88 2532.24,-1854.46 2522.27,-1850.88 2522.21,-1857.88"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge297" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxOplog&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge297"><a xlink:title="at client.go:437: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2301.14,-1076.2C2364.6,-1088.54 2475.86,-1110.19 2532.36,-1121.18"/>
<polygon fill="black" stroke="black" points="2531.76,-1124.63 2542.25,-1123.1 2533.1,-1117.76 2531.76,-1124.63"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge38" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge38"><a xlink:title="at client.go:546: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2345.15,-1381.11C2358.03,-1385.97 2370.04,-1392.97 2379.36,-1403 2412.07,-1438.17 2418.73,-1794.72 2452.36,-1829 2470.1,-1847.08 2497.82,-1852.78 2521.6,-1853.86"/>
<polygon fill="black" stroke="black" points="2521.79,-1857.36 2531.86,-1854.06 2521.93,-1850.36 2521.79,-1857.36"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge82" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).AddMemberIntoChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge82"><a xlink:title="at client.go:549: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2342.87,-1362.22C2356.19,-1357.66 2368.93,-1351.17 2379.36,-1342 2447.93,-1281.73 2382.43,-1208.69 2452.36,-1150 2474.17,-1131.7 2506.54,-1126.83 2531.39,-1126.18"/>
<polygon fill="black" stroke="black" points="2531.54,-1129.68 2541.53,-1126.14 2531.51,-1122.68 2531.54,-1129.68"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage -->
<g id="edge39" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).sendMessage</title>
<g id="a_edge39"><a xlink:title="at client.go:419: calling [(*github.com/eatMoreApple/openwechat.Client).sendMessage]">
<path fill="none" stroke="black" d="M2014.1,-1723.28C2029.11,-1718.58 2043.26,-1711.01 2053.35,-1699 2088.02,-1657.76 2091.56,-773.14 2126.35,-732 2141.06,-714.61 2163.82,-706.14 2185.94,-702.24"/>
<polygon fill="black" stroke="black" points="2186.65,-705.68 2196.03,-700.76 2185.63,-698.75 2186.65,-705.68"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg -->
<g id="node78" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg</title>
<g id="a_node78"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg | defined in client.go:248&#10;at client.go:251: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-640" rx="82.51" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-636.3" font-family="Verdana" font-size="14.00">WebWxGetHeadImg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge149" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge149"><a xlink:title="at client.go:251: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2329.3,-646.8C2347.29,-651.43 2365.31,-658.94 2379.36,-671 2515.51,-787.9 2554.72,-1018.85 2564.51,-1099.44"/>
<polygon fill="black" stroke="black" points="2561.08,-1100.26 2565.7,-1109.79 2568.03,-1099.46 2561.08,-1100.26"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge192" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge192"><a xlink:title="at client.go:582: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2328.41,-1437.32C2347.27,-1441.88 2365.94,-1449.97 2379.36,-1464 2436.53,-1523.78 2393.62,-1770.76 2452.36,-1829 2470.35,-1846.84 2498.07,-1852.52 2521.8,-1853.66"/>
<polygon fill="black" stroke="black" points="2521.95,-1857.17 2532.02,-1853.89 2522.11,-1850.17 2521.95,-1857.17"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge150" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxRevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge150"><a xlink:title="at client.go:585: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2327.95,-1428.48C2346.69,-1424.06 2365.43,-1416.3 2379.36,-1403 2421.68,-1362.59 2409.13,-1189.43 2452.36,-1150 2473.4,-1130.81 2505.83,-1126.03 2530.91,-1125.64"/>
<polygon fill="black" stroke="black" points="2531.13,-1129.14 2541.15,-1125.71 2531.18,-1122.14 2531.13,-1129.14"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge79" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).Logout&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge79"><a xlink:title="at client.go:526: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2283.27,-948.56C2309.53,-952.58 2348.51,-960.68 2379.36,-976 2447.58,-1009.88 2513.57,-1072.1 2546.22,-1105.46"/>
<polygon fill="black" stroke="black" points="2543.94,-1108.14 2553.41,-1112.9 2548.98,-1103.27 2543.94,-1108.14"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload -->
<g id="node81" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload</title>
<g id="a_node81"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload | defined in client.go:589&#10;at client.go:600: calling [github.com/eatMoreApple/openwechat.ToBuffer]&#10;at client.go:603: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="2252.86" cy="-1311" rx="82.51" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1307.3" font-family="Verdana" font-size="14.00">webWxCheckUpload</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge19" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge19"><a xlink:title="at client.go:600: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2332.46,-1315.81C2350.06,-1320.52 2367.12,-1328.56 2379.36,-1342 2416.2,-1382.45 2414.46,-1789.54 2452.36,-1829 2469.97,-1847.33 2497.82,-1853.01 2521.7,-1854.01"/>
<polygon fill="black" stroke="black" points="2521.94,-1857.52 2532,-1854.18 2522.06,-1850.52 2521.94,-1857.52"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge137" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).webWxCheckUpload&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge137"><a xlink:title="at client.go:603: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2328.36,-1303.72C2346.36,-1299.25 2364.63,-1292.16 2379.36,-1281 2432.48,-1240.74 2398.34,-1189.03 2452.36,-1150 2475.05,-1133.61 2506.6,-1128.48 2530.92,-1127.25"/>
<polygon fill="black" stroke="black" points="2531.31,-1130.74 2541.19,-1126.93 2531.09,-1123.74 2531.31,-1130.74"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge193" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge193"><a xlink:title="at client.go:568: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2349.64,-1505.65C2360.69,-1510.29 2370.98,-1516.56 2379.36,-1525 2428.33,-1574.29 2402.1,-1781.03 2452.36,-1829 2470.56,-1846.37 2498.03,-1852.09 2521.57,-1853.36"/>
<polygon fill="black" stroke="black" points="2521.62,-1856.86 2531.72,-1853.66 2521.82,-1849.87 2521.62,-1856.86"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge29" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).RemoveMemberFromChatRoom&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge29"><a xlink:title="at client.go:571: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2351.22,-1482.55C2361.67,-1478.05 2371.39,-1472.02 2379.36,-1464 2429.86,-1413.19 2400.71,-1199.65 2452.36,-1150 2473.02,-1130.15 2505.78,-1125.48 2531.07,-1125.3"/>
<polygon fill="black" stroke="black" points="2531.34,-1128.8 2541.39,-1125.47 2531.45,-1121.81 2531.34,-1128.8"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer -->
<g id="edge46" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;github.com/eatMoreApple/openwechat.ToBuffer</title>
<g id="a_edge46"><a xlink:title="at client.go:462: calling [github.com/eatMoreApple/openwechat.ToBuffer]">
<path fill="none" stroke="black" d="M2323.53,-1621.26C2343.41,-1625.72 2363.86,-1633.52 2379.36,-1647 2445.13,-1704.19 2385.1,-1773.58 2452.36,-1829 2471.42,-1844.7 2498.27,-1850.46 2521.25,-1852.17"/>
<polygon fill="black" stroke="black" points="2521.32,-1855.68 2531.49,-1852.69 2521.68,-1848.69 2521.32,-1855.68"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge228" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxVerifyUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge228"><a xlink:title="at client.go:465: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2325.76,-1613.29C2345.61,-1609.04 2365.48,-1600.93 2379.36,-1586 2413.24,-1549.55 2407.14,-1414.07 2415.36,-1365 2423.37,-1317.19 2418.4,-1184.6 2452.36,-1150 2472.65,-1129.34 2505.96,-1124.85 2531.53,-1124.94"/>
<polygon fill="black" stroke="black" points="2531.52,-1128.44 2541.61,-1125.21 2531.7,-1121.45 2531.52,-1128.44"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo -->
<g id="node84" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo</title>
<g id="a_node84"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo | defined in client.go:492&#10;at client.go:499: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-518" rx="68.41" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-514.3" font-family="Verdana" font-size="14.00">WebWxGetVideo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge311" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge311"><a xlink:title="at client.go:499: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2319.26,-522.4C2340.44,-526.69 2362.73,-534.61 2379.36,-549 2551.17,-697.69 2567.04,-1004.99 2567.71,-1099.63"/>
<polygon fill="black" stroke="black" points="2564.21,-1099.85 2567.73,-1109.85 2571.21,-1099.84 2564.21,-1099.85"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice -->
<g id="node85" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice</title>
<g id="a_node85"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice | defined in client.go:481&#10;at client.go:488: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-457" rx="67.2" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-453.3" font-family="Verdana" font-size="14.00">WebWxGetVoice</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge119" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge119"><a xlink:title="at client.go:488: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2318.29,-461.21C2339.76,-465.45 2362.48,-473.39 2379.36,-488 2476.08,-571.7 2545.9,-987.46 2563.23,-1099.92"/>
<polygon fill="black" stroke="black" points="2559.82,-1100.76 2564.79,-1110.12 2566.74,-1099.71 2559.82,-1100.76"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg -->
<g id="node86" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg</title>
<g id="a_node86"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg | defined in client.go:469&#10;at client.go:477: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-579" rx="78.21" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-575.3" font-family="Verdana" font-size="14.00">WebWxGetMsgImg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge181" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge181"><a xlink:title="at client.go:477: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2326.75,-585.07C2345.59,-589.64 2364.68,-597.3 2379.36,-610 2533.03,-742.99 2561.16,-1011.92 2566.28,-1099.63"/>
<polygon fill="black" stroke="black" points="2562.8,-1100.07 2566.82,-1109.87 2569.79,-1099.7 2562.8,-1100.07"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia -->
<g id="node87" class="node">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia</title>
<g id="a_node87"><a xlink:title="(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia | defined in client.go:503&#10;at client.go:511: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]&#10;at client.go:514: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="2252.86" cy="-1555" rx="69.11" ry="18"/>
<text text-anchor="middle" x="2252.86" y="-1551.3" font-family="Verdana" font-size="14.00">WebWxGetMedia</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket -->
<g id="edge260" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;github.com/eatMoreApple/openwechat.getWebWxDataTicket</title>
<g id="a_edge260"><a xlink:title="at client.go:511: calling [github.com/eatMoreApple/openwechat.getWebWxDataTicket]">
<path fill="none" stroke="black" d="M2321.15,-1558.2C2342.22,-1562.42 2363.97,-1570.6 2379.36,-1586 2427.26,-1633.91 2404.77,-1833.78 2452.36,-1882 2460.32,-1890.07 2470.16,-1896.06 2480.71,-1900.48"/>
<polygon fill="black" stroke="black" points="2479.54,-1903.78 2490.13,-1903.99 2481.98,-1897.22 2479.54,-1903.78"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do -->
<g id="edge282" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).Do</title>
<g id="a_edge282"><a xlink:title="at client.go:514: calling [(*github.com/eatMoreApple/openwechat.Client).Do]">
<path fill="none" stroke="black" d="M2321.9,-1552.77C2342.91,-1548.73 2364.42,-1540.62 2379.36,-1525 2438.04,-1463.65 2392.17,-1209.87 2452.36,-1150 2472.76,-1129.71 2505.76,-1125.13 2531.2,-1125.09"/>
<polygon fill="black" stroke="black" points="2531.16,-1128.59 2541.23,-1125.3 2531.31,-1121.59 2531.16,-1128.59"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendText -->
<g id="node88" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendText</title>
<g id="a_node88"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendText | defined in relations.go:27&#10;at relations.go:28: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3109" rx="40.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3105.3" font-family="Verdana" font-size="14.00">SendText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToFriend -->
<g id="node136" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend</title>
<g id="a_node136"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend | defined in user.go:233&#10;at user.go:234: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]&#10;at user.go:235: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3094" rx="72.71" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3090.3" font-family="Verdana" font-size="14.00">SendTextToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend -->
<g id="edge135" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend</title>
<g id="a_edge135"><a xlink:title="at relations.go:28: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend]">
<path fill="none" stroke="black" d="M855.34,-3106.98C898.69,-3104.73 969.87,-3101.04 1025.26,-3098.17"/>
<polygon fill="black" stroke="black" points="1025.61,-3101.66 1035.41,-3097.64 1025.25,-3094.66 1025.61,-3101.66"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendImage -->
<g id="node89" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendImage</title>
<g id="a_node89"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendImage | defined in relations.go:32&#10;at relations.go:33: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3353" rx="49.5" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3349.3" font-family="Verdana" font-size="14.00">SendImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToFriend -->
<g id="node145" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend</title>
<g id="a_node145"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend | defined in user.go:239&#10;at user.go:242: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3399" rx="81.31" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3395.3" font-family="Verdana" font-size="14.00">SendImageToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend -->
<g id="edge160" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend</title>
<g id="a_edge160"><a xlink:title="at relations.go:33: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend]">
<path fill="none" stroke="black" d="M860.9,-3360.09C905.87,-3367.24 976.17,-3378.41 1029.91,-3386.95"/>
<polygon fill="black" stroke="black" points="1029.66,-3390.46 1040.08,-3388.57 1030.76,-3383.55 1029.66,-3390.46"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup -->
<g id="node90" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup</title>
<g id="a_node90"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup | defined in relations.go:42&#10;at relations.go:43: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3170" rx="59.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3166.3" font-family="Verdana" font-size="14.00">AddIntoGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups -->
<g id="node149" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups</title>
<g id="a_node149"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups | defined in user.go:316&#10;at user.go:318: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3155" rx="108.21" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3151.3" font-family="Verdana" font-size="14.00">AddFriendIntoManyGroups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups -->
<g id="edge309" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).AddIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups</title>
<g id="a_edge309"><a xlink:title="at relations.go:43: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups]">
<path fill="none" stroke="black" d="M874.18,-3167C908.16,-3165.24 952.28,-3162.95 992.88,-3160.85"/>
<polygon fill="black" stroke="black" points="993.31,-3164.33 1003.12,-3160.32 992.95,-3157.34 993.31,-3164.33"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SetRemarkName -->
<g id="node91" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName</title>
<g id="a_node91"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName | defined in relations.go:17&#10;at relations.go:18: calling [(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3231" rx="69.11" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3227.3" font-family="Verdana" font-size="14.00">SetRemarkName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend -->
<g id="node139" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend</title>
<g id="a_node139"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend | defined in user.go:254&#10;at user.go:256: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3216" rx="101.51" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3212.3" font-family="Verdana" font-size="14.00">SetRemarkNameToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SetRemarkName&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend -->
<g id="edge194" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SetRemarkName&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend</title>
<g id="a_edge194"><a xlink:title="at relations.go:18: calling [(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend]">
<path fill="none" stroke="black" d="M883.43,-3227.52C917.61,-3225.75 959.98,-3223.55 998.54,-3221.55"/>
<polygon fill="black" stroke="black" points="998.97,-3225.04 1008.77,-3221.02 998.6,-3218.05 998.97,-3225.04"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendMsg -->
<g id="node92" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendMsg</title>
<g id="a_node92"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendMsg | defined in relations.go:22&#10;at relations.go:23: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3414" rx="40.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3410.3" font-family="Verdana" font-size="14.00">SendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend -->
<g id="node138" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend</title>
<g id="a_node138"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend | defined in user.go:228&#10;at user.go:229: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-3094" rx="90.41" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-3090.3" font-family="Verdana" font-size="14.00">SendMessageToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend -->
<g id="edge71" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend</title>
<g id="a_edge71"><a xlink:title="at relations.go:23: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<path fill="none" stroke="black" d="M852.16,-3421.22C940.01,-3438.04 1162.86,-3475.08 1218.08,-3430 1328.42,-3339.92 1182.22,-3217.42 1282.23,-3116 1285.73,-3112.45 1289.66,-3109.41 1293.89,-3106.82"/>
<polygon fill="black" stroke="black" points="1295.69,-3109.83 1302.94,-3102.1 1292.45,-3103.62 1295.69,-3109.83"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendFile -->
<g id="node93" class="node">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendFile</title>
<g id="a_node93"><a xlink:title="(*github.com/eatMoreApple/openwechat.Friend).SendFile | defined in relations.go:37&#10;at relations.go:38: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3292" rx="37.9" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3288.3" font-family="Verdana" font-size="14.00">SendFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToFriend -->
<g id="node155" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend</title>
<g id="a_node155"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend | defined in user.go:246&#10;at user.go:249: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3277" rx="69.71" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3273.3" font-family="Verdana" font-size="14.00">SendFileToFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Friend).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend -->
<g id="edge177" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Friend).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend</title>
<g id="a_edge177"><a xlink:title="at relations.go:38: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend]">
<path fill="none" stroke="black" d="M853.26,-3290.09C897.1,-3287.81 971.38,-3283.96 1028.04,-3281.02"/>
<polygon fill="black" stroke="black" points="1028.24,-3284.52 1038.05,-3280.51 1027.88,-3277.53 1028.24,-3284.52"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendMsg -->
<g id="node94" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendMsg</title>
<g id="a_node94"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendMsg | defined in relations.go:183&#10;at relations.go:184: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2273" rx="40.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2269.3" font-family="Verdana" font-size="14.00">SendMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup -->
<g id="node140" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup</title>
<g id="a_node140"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup | defined in user.go:326&#10;at user.go:327: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2428" rx="89.21" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2424.3" font-family="Verdana" font-size="14.00">SendMessageToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup -->
<g id="edge322" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup</title>
<g id="a_edge322"><a xlink:title="at relations.go:184: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<path fill="none" stroke="black" d="M850.85,-2281.75C871.96,-2287.4 899.37,-2295.32 923.12,-2304 939.57,-2310.01 942.16,-2315.64 959.12,-2320 1086.62,-2352.74 1129.66,-2302.47 1254.23,-2345 1292.17,-2357.95 1330.04,-2384.48 1354.74,-2404.08"/>
<polygon fill="black" stroke="black" points="1352.61,-2406.86 1362.59,-2410.43 1357.01,-2401.42 1352.61,-2406.86"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).Members -->
<g id="node95" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).Members</title>
<g id="a_node95"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).Members | defined in relations.go:203&#10;at relations.go:204: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2395" rx="40.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2391.3" font-family="Verdana" font-size="14.00">Members</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="node160" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_node160"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).Detail | defined in user.go:83&#10;at user.go:90: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at user.go:86: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-250" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-246.3" font-family="Verdana" font-size="14.00">Detail</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="edge315" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_edge315"><a xlink:title="at relations.go:204: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<path fill="none" stroke="black" d="M855.55,-2394.76C878.97,-2392.36 907.17,-2385.04 923.12,-2365 1017.88,-2245.93 885.52,-1109.37 988.12,-997 1057.7,-920.8 1133.38,-1023.94 1218.08,-965 1446.29,-806.2 1411.43,-672.32 1514.24,-414 1536.88,-357.1 1508.08,-325.41 1550.24,-281 1565.45,-264.97 1589.06,-257.22 1608.9,-253.48"/>
<polygon fill="black" stroke="black" points="1609.55,-256.92 1618.87,-251.86 1608.43,-250.01 1609.55,-256.92"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).AddFriendsIn -->
<g id="node96" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn</title>
<g id="a_node96"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn | defined in relations.go:212&#10;at relations.go:213: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2334" rx="56.8" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2330.3" font-family="Verdana" font-size="14.00">AddFriendsIn</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup -->
<g id="node141" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup</title>
<g id="a_node141"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup | defined in user.go:261&#10;at user.go:280: calling [(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom]&#10;at user.go:266: calling [(*github.com/eatMoreApple/openwechat.Group).Members]&#10;at user.go:274: calling [(github.com/eatMoreApple/openwechat.Friend).String]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2489" rx="87.41" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2485.3" font-family="Verdana" font-size="14.00">AddFriendsIntoGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).AddFriendsIn&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup -->
<g id="edge323" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).AddFriendsIn&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup</title>
<g id="a_edge323"><a xlink:title="at relations.go:213: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<path fill="none" stroke="black" d="M871.79,-2335.84C978.56,-2339.55 1203.43,-2348.35 1218.08,-2357 1264.2,-2384.22 1239.59,-2426.6 1282.23,-2459 1290.06,-2464.95 1299.06,-2469.72 1308.38,-2473.55"/>
<polygon fill="black" stroke="black" points="1307.2,-2476.84 1317.79,-2477.08 1309.65,-2470.29 1307.2,-2476.84"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendImage -->
<g id="node97" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendImage</title>
<g id="a_node97"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendImage | defined in relations.go:193&#10;at relations.go:194: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2639" rx="49.5" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2635.3" font-family="Verdana" font-size="14.00">SendImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToGroup -->
<g id="node148" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup</title>
<g id="a_node148"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup | defined in user.go:337&#10;at user.go:340: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2972" rx="80.71" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2968.3" font-family="Verdana" font-size="14.00">SendImageToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup -->
<g id="edge324" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup</title>
<g id="a_edge324"><a xlink:title="at relations.go:194: calling [(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup]">
<path fill="none" stroke="black" d="M821.09,-2656.99C836.01,-2709.66 886.97,-2864.72 988.12,-2942 999.03,-2950.33 1012.01,-2956.37 1025.29,-2960.74"/>
<polygon fill="black" stroke="black" points="1024.4,-2964.13 1034.99,-2963.63 1026.41,-2957.42 1024.4,-2964.13"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).RemoveMembers -->
<g id="node98" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).RemoveMembers</title>
<g id="a_node98"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).RemoveMembers | defined in relations.go:219&#10;at relations.go:220: calling [(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2517" rx="70.9" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2513.3" font-family="Verdana" font-size="14.00">RemoveMembers</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup -->
<g id="node150" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup</title>
<g id="a_node150"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup | defined in user.go:286&#10;at user.go:311: calling [(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom]&#10;at user.go:293: calling [(*github.com/eatMoreApple/openwechat.Group).Members]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2789" rx="110.61" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2785.3" font-family="Verdana" font-size="14.00">RemoveMemberFromGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).RemoveMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup -->
<g id="edge90" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).RemoveMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup</title>
<g id="a_edge90"><a xlink:title="at relations.go:220: calling [(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup]">
<path fill="none" stroke="black" d="M879.96,-2524.61C895.72,-2529.21 911.42,-2536.49 923.12,-2548 940.61,-2565.2 970.36,-2742.08 988.12,-2759 994.5,-2765.07 1001.92,-2769.95 1009.88,-2773.88"/>
<polygon fill="black" stroke="black" points="1008.51,-2777.1 1019.07,-2777.92 1011.33,-2770.7 1008.51,-2777.1"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendFile -->
<g id="node99" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendFile</title>
<g id="a_node99"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendFile | defined in relations.go:198&#10;at relations.go:199: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2578" rx="37.9" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2574.3" font-family="Verdana" font-size="14.00">SendFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToGroup -->
<g id="node153" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup</title>
<g id="a_node153"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup | defined in user.go:344&#10;at user.go:347: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2911" rx="69.11" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2907.3" font-family="Verdana" font-size="14.00">SendFileToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup -->
<g id="edge85" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup</title>
<g id="a_edge85"><a xlink:title="at relations.go:199: calling [(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup]">
<path fill="none" stroke="black" d="M853.29,-2579.58C876.42,-2582.54 905.14,-2590.13 923.12,-2609 1008.88,-2698.97 900.91,-2792.44 988.12,-2881 999.22,-2892.26 1013.91,-2899.5 1029.14,-2904.11"/>
<polygon fill="black" stroke="black" points="1028.63,-2907.59 1039.19,-2906.77 1030.42,-2900.82 1028.63,-2907.59"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendText -->
<g id="node100" class="node">
<title>(*github.com/eatMoreApple/openwechat.Group).SendText</title>
<g id="a_node100"><a xlink:title="(*github.com/eatMoreApple/openwechat.Group).SendText | defined in relations.go:188&#10;at relations.go:189: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-2456" rx="40.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-2452.3" font-family="Verdana" font-size="14.00">SendText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToGroup -->
<g id="node151" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup</title>
<g id="a_node151"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup | defined in user.go:331&#10;at user.go:333: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]&#10;at user.go:332: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2423" rx="72.11" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2419.3" font-family="Verdana" font-size="14.00">SendTextToGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Group).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup -->
<g id="edge224" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Group).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup</title>
<g id="a_edge224"><a xlink:title="at relations.go:189: calling [(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup]">
<path fill="none" stroke="black" d="M854.45,-2451.65C899.18,-2446.55 974.41,-2437.97 1030.91,-2431.53"/>
<polygon fill="black" stroke="black" points="1031.34,-2435 1040.88,-2430.39 1030.54,-2428.05 1031.34,-2435"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="node102" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_node102"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup | defined in message.go:125">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1629" rx="65.4" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1625.3" font-family="Verdana" font-size="14.00">IsSendByGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge74" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge74"><a xlink:title="at message.go:318: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="black" d="M840.96,-1621.67C862.92,-1627.06 895.71,-1635.98 923.12,-1647 953.37,-1659.16 956.46,-1673.22 988.12,-1681 1087.37,-1705.39 1117.07,-1696.57 1218.08,-1681 1259.3,-1674.65 1304.34,-1659.84 1336.88,-1647.65"/>
<polygon fill="black" stroke="black" points="1338.46,-1650.79 1346.56,-1643.96 1335.96,-1644.25 1338.46,-1650.79"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver -->
<g id="node103" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver</title>
<g id="a_node103"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Receiver | defined in message.go:94&#10;at message.go:95: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]&#10;at message.go:106: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:99: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:103: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:110: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:96: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1738" rx="37.9" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1734.3" font-family="Verdana" font-size="14.00">Receiver</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Receiver -->
<g id="edge109" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).init&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Receiver</title>
<g id="a_edge109"><a xlink:title="at message.go:322: calling [(*github.com/eatMoreApple/openwechat.Message).Receiver]">
<path fill="none" stroke="black" d="M842.25,-1618.47C865.36,-1621.77 899.14,-1629.42 923.12,-1647 946.39,-1664.06 935.56,-1684.36 959.12,-1701 988.39,-1721.68 1028.14,-1730.82 1058.86,-1734.86"/>
<polygon fill="black" stroke="black" points="1058.56,-1738.35 1068.9,-1736.04 1059.38,-1731.39 1058.56,-1738.35"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge11" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge11"><a xlink:title="at message.go:95: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="black" d="M1138.87,-1728.36C1161.13,-1721.29 1191.67,-1711.18 1218.08,-1701 1260.21,-1684.77 1307.33,-1663.88 1340.33,-1648.79"/>
<polygon fill="black" stroke="black" points="1342.04,-1651.85 1349.67,-1644.5 1339.12,-1645.49 1342.04,-1651.85"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="node104" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_node104"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Sender | defined in message.go:58&#10;at message.go:66: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:70: calling [(*github.com/eatMoreApple/openwechat.User).Detail]&#10;at message.go:59: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at message.go:70: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1724" rx="32.4" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1720.3" font-family="Verdana" font-size="14.00">Sender</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="edge305" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_edge305"><a xlink:title="at message.go:96: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<path fill="none" stroke="black" d="M1144.49,-1736.13C1195.54,-1733.53 1287.58,-1728.84 1341.09,-1726.12"/>
<polygon fill="black" stroke="black" points="1341.44,-1729.61 1351.25,-1725.6 1341.09,-1722.62 1341.44,-1729.61"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="node202" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_node202"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByUserName | defined in user.go:445&#10;at user.go:446: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2009" rx="81.31" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2005.3" font-family="Verdana" font-size="14.00">SearchByUserName</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge100" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge100"><a xlink:title="at message.go:106: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:99: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="black" d="M1115.42,-1755.59C1135.88,-1800.04 1195.85,-1917.72 1282.23,-1979 1291.04,-1985.25 1301.17,-1990.22 1311.53,-1994.16"/>
<polygon fill="black" stroke="black" points="1310.48,-1997.5 1321.07,-1997.49 1312.79,-1990.89 1310.48,-1997.5"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).First -->
<g id="node203" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_node203"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).First | defined in user.go:419&#10;at user.go:420: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-2192" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-2188.3" font-family="Verdana" font-size="14.00">First</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge147" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Receiver&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge147"><a xlink:title="at message.go:103: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:110: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="black" d="M1110.33,-1755.97C1123.89,-1845.37 1188.61,-2240.72 1282.23,-2313 1363.91,-2376.06 1429.72,-2381.2 1514.24,-2322 1552.59,-2295.14 1516.6,-2255.56 1550.24,-2223 1565.94,-2207.8 1589.2,-2200.05 1608.74,-2196.11"/>
<polygon fill="black" stroke="black" points="1609.6,-2199.51 1618.84,-2194.32 1608.39,-2192.61 1609.6,-2199.51"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="node133" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_node133"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Members | defined in user.go:122&#10;at user.go:125: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]&#10;at user.go:132: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2572" rx="40.3" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2568.3" font-family="Verdana" font-size="14.00">Members</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge225" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge225"><a xlink:title="at message.go:59: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="black" d="M1351.3,-1722.03C1322.06,-1722.33 1281.66,-1728.51 1268.23,-1758.5 1251.23,-1796.48 1251.23,-2469.52 1268.23,-2507.5 1280.73,-2535.41 1311.47,-2551.74 1338.1,-2560.98"/>
<polygon fill="black" stroke="black" points="1337.09,-2564.33 1347.68,-2564.07 1339.24,-2557.67 1337.09,-2564.33"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="edge208" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_edge208"><a xlink:title="at message.go:70: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<path fill="none" stroke="black" d="M1410.95,-1713.72C1432.85,-1703.61 1462.74,-1685.9 1477.24,-1660 1622.92,-1399.77 1498.45,-1287.81 1514.24,-990 1518.41,-911.23 1502.34,-343.67 1550.24,-281 1563.9,-263.13 1588.11,-255.41 1608.64,-252.15"/>
<polygon fill="black" stroke="black" points="1609.19,-255.61 1618.66,-250.85 1608.29,-248.66 1609.19,-255.61"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge25" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge25"><a xlink:title="at message.go:66: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="black" d="M1351.3,-1722.03C1322.06,-1722.33 1281.66,-1728.51 1268.23,-1758.5 1258.79,-1779.59 1258.79,-1945.41 1268.23,-1966.5 1274.71,-1980.98 1287.15,-1990.63 1301.54,-1997.04"/>
<polygon fill="black" stroke="black" points="1300.65,-2000.45 1311.24,-2000.81 1303.18,-1993.93 1300.65,-2000.45"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge279" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Sender&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge279"><a xlink:title="at message.go:70: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="black" d="M1416.51,-1723.2C1436.7,-1724.47 1461.84,-1729.66 1477.24,-1746 1541.59,-1814.32 1488.43,-2091.37 1550.24,-2162 1564.84,-2178.69 1588.67,-2186.18 1608.77,-2189.51"/>
<polygon fill="black" stroke="black" points="1608.49,-2193 1618.87,-2190.89 1609.44,-2186.06 1608.49,-2193"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyImage -->
<g id="node105" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyImage</title>
<g id="a_node105"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).ReplyImage | defined in message.go:143&#10;at message.go:146: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1677" rx="51.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1673.3" font-family="Verdana" font-size="14.00">ReplyImage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="edge273" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_edge273"><a xlink:title="at message.go:146: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<path fill="none" stroke="black" d="M861.32,-1685.1C881.14,-1689.89 904.17,-1697.2 923.12,-1708 957.54,-1727.62 952.48,-1751.71 988.12,-1769 1095.33,-1821.01 1135.02,-1794.02 1253.23,-1809 1352.52,-1821.58 1383.06,-1798.14 1477.24,-1832 1495.33,-1838.51 1495.29,-1849.09 1513.24,-1856 1562.8,-1875.08 1714.51,-1851.17 1749.64,-1891 1796.73,-1944.38 1726.76,-3122.22 1777.64,-3172 1790.94,-3185.01 1834.37,-3178.4 1871.95,-3169.44"/>
<polygon fill="black" stroke="black" points="1872.99,-3172.78 1881.86,-3166.99 1871.31,-3165.99 1872.99,-3172.78"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).RevokeMsg -->
<g id="node106" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).RevokeMsg</title>
<g id="a_node106"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).RevokeMsg | defined in message.go:273&#10;at message.go:278: calling [github.com/eatMoreApple/openwechat.XmlFormString]&#10;at message.go:274: calling [(*github.com/eatMoreApple/openwechat.Message).IsRecalled]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1122" rx="48.3" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1118.3" font-family="Verdana" font-size="14.00">RevokeMsg</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="edge93" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_edge93"><a xlink:title="at message.go:278: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<path fill="none" stroke="black" d="M861.81,-1116.67C883.32,-1111.82 907.62,-1102.59 923.12,-1085 974.48,-1026.73 898.81,-962.94 959.12,-914 986.52,-891.77 1027.17,-895.64 1058.72,-903.88"/>
<polygon fill="black" stroke="black" points="1058.04,-907.33 1068.61,-906.68 1059.94,-900.59 1058.04,-907.33"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsRecalled -->
<g id="node107" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsRecalled</title>
<g id="a_node107"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsRecalled | defined in message.go:189">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1284" rx="44.6" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1280.3" font-family="Verdana" font-size="14.00">IsRecalled</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsRecalled -->
<g id="edge269" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).RevokeMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsRecalled</title>
<g id="a_edge269"><a xlink:title="at message.go:274: calling [(*github.com/eatMoreApple/openwechat.Message).IsRecalled]">
<path fill="none" stroke="black" d="M845.98,-1136.28C868.92,-1148.35 900.47,-1167.27 923.12,-1190 944.27,-1211.23 934.87,-1229.41 959.12,-1247 986.11,-1266.57 1022.4,-1275.83 1052.11,-1280.19"/>
<polygon fill="black" stroke="black" points="1051.95,-1283.7 1062.32,-1281.54 1052.86,-1276.76 1051.95,-1283.7"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Card -->
<g id="node108" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Card</title>
<g id="a_node108"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Card | defined in message.go:251&#10;at message.go:256: calling [github.com/eatMoreApple/openwechat.XmlFormString]&#10;at message.go:252: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1220" rx="27" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1216.3" font-family="Verdana" font-size="14.00">Card</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="edge175" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_edge175"><a xlink:title="at message.go:256: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<path fill="none" stroke="black" d="M839.6,-1212C864.48,-1202.18 903.05,-1183.02 923.12,-1153 976.25,-1073.55 890.45,-1007.47 959.12,-941 979.91,-920.88 1010.79,-914.59 1038.84,-913.86"/>
<polygon fill="black" stroke="black" points="1039.04,-917.36 1049.03,-913.83 1039.02,-910.36 1039.04,-917.36"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsCard -->
<g id="node109" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsCard</title>
<g id="a_node109"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsCard | defined in message.go:176">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1345" rx="30" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1341.3" font-family="Verdana" font-size="14.00">IsCard</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsCard -->
<g id="edge291" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Card&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsCard</title>
<g id="a_edge291"><a xlink:title="at message.go:252: calling [(*github.com/eatMoreApple/openwechat.Message).IsCard]">
<path fill="none" stroke="black" d="M839.01,-1228.97C861.06,-1238.01 895.2,-1252.9 923.12,-1269 953.78,-1286.68 956,-1300.15 988.12,-1315 1013.27,-1326.62 1043.61,-1334.22 1067.17,-1338.86"/>
<polygon fill="black" stroke="black" points="1066.67,-1342.33 1077.14,-1340.73 1067.96,-1335.45 1066.67,-1342.33"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile -->
<g id="node110" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile</title>
<g id="a_node110"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).HasFile | defined in message.go:226&#10;at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]&#10;at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]&#10;at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]&#10;at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1108" rx="32.4" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1104.3" font-family="Verdana" font-size="14.00">HasFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="node111" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_node111"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsPicture | defined in message.go:164">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1115" rx="38.5" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1111.3" font-family="Verdana" font-size="14.00">IsPicture</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="edge221" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_edge221"><a xlink:title="at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<path fill="none" stroke="black" d="M1139.23,-1108.8C1187.19,-1110.02 1278.76,-1112.35 1334.92,-1113.78"/>
<polygon fill="black" stroke="black" points="1334.89,-1117.28 1344.98,-1114.04 1335.07,-1110.29 1334.89,-1117.28"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="node112" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_node112"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsMedia | defined in message.go:184">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1237" rx="34.8" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1233.3" font-family="Verdana" font-size="14.00">IsMedia</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="edge123" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_edge123"><a xlink:title="at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<path fill="none" stroke="black" d="M1131.68,-1119.87C1154.27,-1131.21 1188.87,-1149.04 1218.08,-1166 1247.34,-1182.99 1251.47,-1192.91 1282.23,-1207 1301.09,-1215.63 1323.06,-1222.52 1341.65,-1227.51"/>
<polygon fill="black" stroke="black" points="1341.02,-1230.97 1351.58,-1230.09 1342.78,-1224.19 1341.02,-1230.97"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsVideo -->
<g id="node113" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsVideo</title>
<g id="a_node113"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsVideo | defined in message.go:180">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1176" rx="33.6" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1172.3" font-family="Verdana" font-size="14.00">IsVideo</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo -->
<g id="edge144" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo</title>
<g id="a_edge144"><a xlink:title="at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]">
<path fill="none" stroke="black" d="M1136.59,-1115.15C1186.07,-1127.38 1287.02,-1152.34 1343.04,-1166.19"/>
<polygon fill="black" stroke="black" points="1342.41,-1169.64 1352.96,-1168.64 1344.09,-1162.84 1342.41,-1169.64"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="node114" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_node114"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsVoice | defined in message.go:168">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1054" rx="32.4" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1050.3" font-family="Verdana" font-size="14.00">IsVoice</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="edge274" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).HasFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_edge274"><a xlink:title="at message.go:227: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<path fill="none" stroke="black" d="M1137.64,-1102.12C1187.45,-1092.34 1287.3,-1072.74 1342.96,-1061.81"/>
<polygon fill="black" stroke="black" points="1343.67,-1065.24 1352.81,-1059.87 1342.32,-1058.37 1343.67,-1065.24"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyFile -->
<g id="node115" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyFile</title>
<g id="a_node115"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).ReplyFile | defined in message.go:150&#10;at message.go:153: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1738" rx="39.7" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1734.3" font-family="Verdana" font-size="14.00">ReplyFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="edge58" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_edge58"><a xlink:title="at message.go:153: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<path fill="none" stroke="black" d="M854.58,-1734.99C878.08,-1735.43 906.73,-1740.51 923.12,-1760 964.63,-1809.34 956.36,-2855.58 959.12,-2920 964.18,-3037.85 917,-3355.9 988.12,-3450 1053.29,-3536.21 1149.15,-3445.78 1218.08,-3529 1287.69,-3613.04 1170.73,-3700.57 1253.23,-3772 1295.15,-3808.29 1710.59,-3760.36 1749.64,-3721 1796.74,-3673.54 1762.94,-3172.59 1806.64,-3122 1819.53,-3107.08 1838.32,-3098.73 1857.49,-3094.21"/>
<polygon fill="black" stroke="black" points="1858.41,-3097.59 1867.52,-3092.17 1857.02,-3090.73 1858.41,-3097.59"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent -->
<g id="node116" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent</title>
<g id="a_node116"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent | defined in message.go:262&#10;at message.go:267: calling [github.com/eatMoreApple/openwechat.XmlFormString]&#10;at message.go:263: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1299" rx="107.61" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1295.3" font-family="Verdana" font-size="14.00">FriendAddMessageContent</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString -->
<g id="edge114" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;github.com/eatMoreApple/openwechat.XmlFormString</title>
<g id="a_edge114"><a xlink:title="at message.go:267: calling [github.com/eatMoreApple/openwechat.XmlFormString]">
<path fill="none" stroke="black" d="M876.84,-1284.11C894.33,-1276.91 911.75,-1266.36 923.12,-1251 998.59,-1149.11 878.07,-1065.5 959.12,-968 977.91,-945.4 1007.61,-933.54 1035.37,-927.37"/>
<polygon fill="black" stroke="black" points="1036.37,-930.74 1045.49,-925.34 1035,-923.88 1036.37,-930.74"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="node117" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_node117"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd | defined in message.go:172">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1406" rx="51.9" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1402.3" font-family="Verdana" font-size="14.00">IsFriendAdd</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="edge304" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).FriendAddMessageContent&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_edge304"><a xlink:title="at message.go:263: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<path fill="none" stroke="black" d="M864.31,-1315.13C882.94,-1321.87 904.3,-1330.18 923.12,-1339 953.23,-1353.1 957.3,-1363.56 988.12,-1376 1008.09,-1384.06 1030.86,-1390.47 1051,-1395.26"/>
<polygon fill="black" stroke="black" points="1050.43,-1398.72 1060.96,-1397.54 1052,-1391.89 1050.43,-1398.72"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile -->
<g id="node118" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile</title>
<g id="a_node118"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).GetFile | defined in message.go:231&#10;at message.go:241: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]&#10;at message.go:232: calling [(*github.com/eatMoreApple/openwechat.Message).HasFile]&#10;at message.go:244: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]&#10;at message.go:239: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice]&#10;at message.go:235: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]&#10;at message.go:236: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg]&#10;at message.go:238: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]&#10;at message.go:245: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia]&#10;at message.go:242: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1054" rx="31.2" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1050.3" font-family="Verdana" font-size="14.00">GetFile</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo -->
<g id="edge240" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo</title>
<g id="a_edge240"><a xlink:title="at message.go:242: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVideo]">
<path fill="none" stroke="black" d="M819.58,-1035.92C834.73,-954.34 901.21,-622.53 988.12,-575 1033.22,-550.33 1179.3,-583.73 1218.08,-550 1262.01,-511.79 1245.9,-341.49 1282.23,-296 1354.42,-205.6 1437.13,-264.24 1514.24,-178 1544.61,-144.03 1513.19,-108.53 1550.24,-82 1591.35,-52.57 1727.09,-75 1777.64,-75 1777.64,-75 1777.64,-75 1935,-75 2006.41,-75 2051.49,-56.09 2090.35,-116 2135.56,-185.67 2071.82,-425.36 2126.35,-488 2138.7,-502.18 2156.43,-510.29 2174.7,-514.78"/>
<polygon fill="black" stroke="black" points="2174.07,-518.22 2184.58,-516.86 2175.51,-511.37 2174.07,-518.22"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice -->
<g id="edge155" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice</title>
<g id="a_edge155"><a xlink:title="at message.go:239: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetVoice]">
<path fill="none" stroke="black" d="M819.26,-1036.14C833.47,-952.45 898.01,-600.88 988.12,-548 1010.18,-535.06 1198.73,-554.72 1218.08,-538 1275.44,-488.45 1237.27,-264.03 1282.23,-203 1419.07,-17.25 1546.94,-48 1777.64,-48 1777.64,-48 1777.64,-48 1935,-48 1988.35,-48 2006.74,-42.05 2053.35,-68 2075.09,-80.1 2076.74,-89.18 2090.35,-110 2162.52,-220.42 2219.88,-368.25 2242,-429.07"/>
<polygon fill="black" stroke="black" points="2238.8,-430.51 2245.48,-438.73 2245.38,-428.13 2238.8,-430.51"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg -->
<g id="edge197" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg</title>
<g id="a_edge197"><a xlink:title="at message.go:236: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMsgImg]">
<path fill="none" stroke="black" d="M816.06,-1035.88C816.15,-968.42 826.2,-729.9 959.12,-617 1047.89,-541.61 1126.36,-648.76 1218.08,-577 1249.96,-552.06 1231.25,-526.98 1253.23,-493 1324.93,-382.17 1399.22,-404.47 1477.24,-298 1483.49,-289.46 1541.7,-128.26 1550.24,-122 1632.06,-62.01 1676.18,-102 1777.64,-102 1777.64,-102 1777.64,-102 1935,-102 2004.61,-102 2042.22,-71.7 2090.35,-122 2156.19,-190.8 2064.27,-476.79 2126.35,-549 2136.6,-560.91 2150.65,-568.55 2165.65,-573.36"/>
<polygon fill="black" stroke="black" points="2165.05,-576.83 2175.62,-576.13 2166.92,-570.08 2165.05,-576.83"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia -->
<g id="edge234" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia</title>
<g id="a_edge234"><a xlink:title="at message.go:245: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetMedia]">
<path fill="none" stroke="black" d="M816.14,-1035.78C816.55,-969.06 827.69,-736.33 959.12,-629 1048.95,-555.65 1117.65,-654.99 1218.08,-597 1259.07,-573.33 1247.8,-544.47 1282.23,-512 1358.01,-440.53 1415.49,-465.89 1477.24,-382 1511.29,-335.73 1504.62,-168.92 1550.24,-134 1590.38,-103.28 1727.1,-129 1777.64,-129 1777.64,-129 1777.64,-129 1935,-129 1987.65,-129 2015.93,-96.96 2053.35,-134 2163.35,-242.88 2027.32,-1406.06 2126.35,-1525 2138.21,-1539.24 2155.49,-1547.41 2173.47,-1551.94"/>
<polygon fill="black" stroke="black" points="2172.99,-1555.42 2183.5,-1554.1 2174.46,-1548.58 2172.99,-1555.42"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).HasFile -->
<g id="edge62" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).HasFile</title>
<g id="a_edge62"><a xlink:title="at message.go:232: calling [(*github.com/eatMoreApple/openwechat.Message).HasFile]">
<path fill="none" stroke="black" d="M845.39,-1059.42C897.44,-1069.14 1006.62,-1089.51 1065.69,-1100.54"/>
<polygon fill="black" stroke="black" points="1065.29,-1104.02 1075.76,-1102.42 1066.57,-1097.14 1065.29,-1104.02"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture -->
<g id="edge188" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsPicture</title>
<g id="a_edge188"><a xlink:title="at message.go:235: calling [(*github.com/eatMoreApple/openwechat.Message).IsPicture]">
<path fill="none" stroke="black" d="M846.68,-1055.18C927.46,-1058.41 1146.39,-1067.87 1218.08,-1078 1260.15,-1083.94 1307.38,-1095.02 1340.44,-1103.52"/>
<polygon fill="black" stroke="black" points="1339.66,-1106.93 1350.22,-1106.06 1341.42,-1100.16 1339.66,-1106.93"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="edge67" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_edge67"><a xlink:title="at message.go:244: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<path fill="none" stroke="black" d="M846.21,-1058.28C869.58,-1063.01 901.6,-1072.66 923.12,-1092 972.66,-1136.51 932.19,-1190.86 988.12,-1227 1045.01,-1263.76 1249.33,-1249.71 1339.47,-1241.4"/>
<polygon fill="black" stroke="black" points="1340,-1244.87 1349.63,-1240.45 1339.35,-1237.9 1340,-1244.87"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo -->
<g id="edge5" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVideo</title>
<g id="a_edge5"><a xlink:title="at message.go:241: calling [(*github.com/eatMoreApple/openwechat.Message).IsVideo]">
<path fill="none" stroke="black" d="M843.99,-1061.48C866.1,-1068.01 897.51,-1078.54 923.12,-1092 954.68,-1108.59 954.76,-1126.45 988.12,-1139 1020.44,-1151.16 1244.68,-1167 1340.01,-1173.27"/>
<polygon fill="black" stroke="black" points="1339.96,-1176.77 1350.17,-1173.93 1340.42,-1169.79 1339.96,-1176.77"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice -->
<g id="edge211" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).GetFile&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsVoice</title>
<g id="a_edge211"><a xlink:title="at message.go:238: calling [(*github.com/eatMoreApple/openwechat.Message).IsVoice]">
<path fill="none" stroke="black" d="M846.77,-1054C941.62,-1054 1231.86,-1054 1340.82,-1054"/>
<polygon fill="black" stroke="black" points="1341.09,-1057.5 1351.09,-1054 1341.09,-1050.5 1341.09,-1057.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts -->
<g id="node119" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts</title>
<g id="a_node119"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts | defined in message.go:202&#10;at message.go:203: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1196" rx="79.41" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1192.3" font-family="Verdana" font-size="14.00">IsTransferAccounts</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia -->
<g id="edge115" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsTransferAccounts&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsMedia</title>
<g id="a_edge115"><a xlink:title="at message.go:203: calling [(*github.com/eatMoreApple/openwechat.Message).IsMedia]">
<path fill="none" stroke="black" d="M1173.21,-1205.77C1224.95,-1213.48 1295.63,-1224.02 1340.23,-1230.66"/>
<polygon fill="black" stroke="black" points="1339.75,-1234.13 1350.16,-1232.14 1340.78,-1227.21 1339.75,-1234.13"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByFriend -->
<g id="node120" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend</title>
<g id="a_node120"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend | defined in message.go:120&#10;at message.go:121: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1528" rx="66" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1524.3" font-family="Verdana" font-size="14.00">IsSendByFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendByFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge184" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendByFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge184"><a xlink:title="at message.go:121: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="black" d="M1155.92,-1540.1C1175.4,-1545.36 1197.98,-1551.94 1218.08,-1559 1260.49,-1573.9 1307.57,-1594.32 1340.48,-1609.26"/>
<polygon fill="black" stroke="black" points="1339.25,-1612.55 1349.8,-1613.52 1342.16,-1606.18 1339.25,-1612.55"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup -->
<g id="node121" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup</title>
<g id="a_node121"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).SenderInGroup | defined in message.go:74&#10;at message.go:78: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]&#10;at message.go:75: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]&#10;at message.go:90: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at message.go:86: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at message.go:82: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1589" rx="64.2" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1585.3" font-family="Verdana" font-size="14.00">SenderInGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup -->
<g id="edge91" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup</title>
<g id="a_edge91"><a xlink:title="at message.go:75: calling [(*github.com/eatMoreApple/openwechat.Message).IsSendByGroup]">
<path fill="none" stroke="black" d="M1164,-1597.19C1207.93,-1603.58 1269.08,-1612.47 1315.56,-1619.23"/>
<polygon fill="black" stroke="black" points="1315.14,-1622.71 1325.54,-1620.68 1316.15,-1615.78 1315.14,-1622.71"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender -->
<g id="edge63" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Sender</title>
<g id="a_edge63"><a xlink:title="at message.go:78: calling [(*github.com/eatMoreApple/openwechat.Message).Sender]">
<path fill="none" stroke="black" d="M1158.21,-1599.91C1177.4,-1604.89 1199.16,-1611.58 1218.08,-1620 1221.67,-1621.6 1306.97,-1675.78 1353.35,-1705.29"/>
<polygon fill="black" stroke="black" points="1351.48,-1708.25 1361.8,-1710.67 1355.24,-1702.34 1351.48,-1708.25"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail -->
<g id="edge316" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.User).Detail</title>
<g id="a_edge316"><a xlink:title="at message.go:82: calling [(*github.com/eatMoreApple/openwechat.User).Detail]">
<path fill="none" stroke="black" d="M1169.9,-1585.62C1188.08,-1581.45 1206.23,-1573.55 1218.08,-1559 1298.36,-1460.43 1164.88,-1079.41 1253.23,-988 1293.73,-946.1 1473.93,-1005.07 1514.24,-963 1566.74,-908.21 1504.1,-341.24 1550.24,-281 1563.92,-263.14 1588.13,-255.43 1608.65,-252.16"/>
<polygon fill="black" stroke="black" points="1609.2,-255.62 1618.67,-250.86 1608.3,-248.67 1609.2,-255.62"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge163" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge163"><a xlink:title="at message.go:86: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="black" d="M1168.96,-1593.81C1187.08,-1598.2 1205.44,-1606.07 1218.08,-1620 1327,-1740.03 1174.29,-1858.09 1282.23,-1979 1288.46,-1985.98 1296.25,-1991.37 1304.71,-1995.52"/>
<polygon fill="black" stroke="black" points="1303.54,-1998.83 1314.11,-1999.56 1306.3,-1992.4 1303.54,-1998.83"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge95" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).SenderInGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge95"><a xlink:title="at message.go:90: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="black" d="M1169.35,-1593.15C1187.61,-1597.49 1205.94,-1605.49 1218.08,-1620 1241.86,-1648.42 1254.79,-2259.09 1282.23,-2284 1314.31,-2313.13 1436.5,-2298.78 1477.24,-2284 1516.98,-2269.58 1513.26,-2243.5 1550.24,-2223 1569,-2212.6 1591.82,-2205 1610.35,-2199.93"/>
<polygon fill="black" stroke="black" points="1611.36,-2203.28 1620.15,-2197.37 1609.59,-2196.51 1611.36,-2203.28"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Reply -->
<g id="node122" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Reply</title>
<g id="a_node122"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Reply | defined in message.go:130&#10;at message.go:131: calling [github.com/eatMoreApple/openwechat.NewSendMessage]&#10;at message.go:134: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1650" rx="27" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1646.3" font-family="Verdana" font-size="14.00">Reply</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage -->
<g id="edge6" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;github.com/eatMoreApple/openwechat.NewSendMessage</title>
<g id="a_edge6"><a xlink:title="at message.go:131: calling [github.com/eatMoreApple/openwechat.NewSendMessage]">
<path fill="none" stroke="black" d="M1133.91,-1650.71C1159.48,-1649.85 1197.45,-1644.18 1218.08,-1620 1304.54,-1518.66 1183.13,-1113.01 1282.23,-1024 1346.71,-966.09 1405.4,-975.51 1477.24,-1024 1801.74,-1243.05 1494.56,-1604.6 1806.64,-1841 1894.57,-1907.6 1969.67,-1796.13 2053.35,-1868 2100.46,-1908.46 2053.23,-1952.49 2089.35,-2003 2179.57,-2129.13 2269.91,-2087.15 2379.36,-2197 2420.77,-2238.57 2410.32,-2266.07 2452.36,-2307 2473.67,-2327.75 2501.95,-2345.55 2525.13,-2358.25"/>
<polygon fill="black" stroke="black" points="2523.6,-2361.4 2534.07,-2363.04 2526.9,-2355.23 2523.6,-2361.4"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="edge153" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Reply&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_edge153"><a xlink:title="at message.go:134: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<path fill="none" stroke="black" d="M1132.57,-1655.64C1158.62,-1662.96 1198.39,-1678.45 1218.08,-1708 1243.2,-1745.68 1251.74,-2068.78 1254.23,-2114 1256.24,-2150.48 1256.79,-3402.78 1282.23,-3429 1297.34,-3444.57 1456.14,-3433.94 1477.24,-3439 1619.4,-3473.1 1634.65,-3542.55 1777.64,-3573 1821.58,-3582.35 1870.06,-3559.55 1900.98,-3540.51"/>
<polygon fill="black" stroke="black" points="1903.05,-3543.34 1909.6,-3535.02 1899.29,-3537.44 1903.05,-3543.34"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Agree -->
<g id="node123" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).Agree</title>
<g id="a_node123"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).Agree | defined in message.go:284&#10;at message.go:292: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser]&#10;at message.go:285: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1430" rx="27.5" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1426.3" font-family="Verdana" font-size="14.00">Agree</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser -->
<g id="edge7" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser</title>
<g id="a_edge7"><a xlink:title="at message.go:292: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxVerifyUser]">
<path fill="none" stroke="black" d="M843.06,-1429.56C868.11,-1430.75 904.4,-1436.91 923.12,-1461 956.72,-1504.23 950.21,-3391.5 988.12,-3431 1023.61,-3467.96 1178.16,-3415.88 1218.08,-3448 1276.17,-3494.74 1215.2,-3570.37 1282.23,-3603 1360.16,-3640.93 1393.98,-3627.08 1477.24,-3603 1614.78,-3563.21 1671.15,-3550.75 1749.64,-3431 1772.45,-3396.21 1778.55,-3091.67 1806.64,-3061 1818.38,-3048.19 1834.46,-3040.28 1851.23,-3035.48"/>
<polygon fill="black" stroke="black" points="1852.3,-3038.82 1861.15,-3033 1850.6,-3032.03 1852.3,-3038.82"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd -->
<g id="edge169" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).Agree&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd</title>
<g id="a_edge169"><a xlink:title="at message.go:285: calling [(*github.com/eatMoreApple/openwechat.Message).IsFriendAdd]">
<path fill="none" stroke="black" d="M842.77,-1427.81C888.56,-1424.01 983.69,-1416.12 1046.08,-1410.94"/>
<polygon fill="black" stroke="black" points="1046.5,-1414.42 1056.18,-1410.11 1045.92,-1407.44 1046.5,-1414.42"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket -->
<g id="node124" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket</title>
<g id="a_node124"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket | defined in message.go:212&#10;at message.go:213: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1369" rx="81.91" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1365.3" font-family="Verdana" font-size="14.00">IsReceiveRedPacket</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSystem -->
<g id="node125" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSystem</title>
<g id="a_node125"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSystem | defined in message.go:193">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-1467" rx="41" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-1463.3" font-family="Verdana" font-size="14.00">IsSystem</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem -->
<g id="edge21" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsReceiveRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem</title>
<g id="a_edge21"><a xlink:title="at message.go:213: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<path fill="none" stroke="black" d="M871.24,-1382.27C888.17,-1387.07 906.67,-1393.05 923.12,-1400 953.74,-1412.94 957.3,-1424.56 988.12,-1437 1010.55,-1446.05 1036.5,-1453.02 1058.31,-1457.95"/>
<polygon fill="black" stroke="black" points="1057.82,-1461.42 1068.33,-1460.14 1059.31,-1454.59 1057.82,-1461.42"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyText -->
<g id="node126" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyText</title>
<g id="a_node126"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).ReplyText | defined in message.go:138&#10;at message.go:139: calling [(*github.com/eatMoreApple/openwechat.Message).Reply]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1555" rx="41.6" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1551.3" font-family="Verdana" font-size="14.00">ReplyText</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).ReplyText&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Reply -->
<g id="edge41" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).ReplyText&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).Reply</title>
<g id="a_edge41"><a xlink:title="at message.go:139: calling [(*github.com/eatMoreApple/openwechat.Message).Reply]">
<path fill="none" stroke="black" d="M852.52,-1563.59C873.49,-1569.03 900.19,-1576.78 923.12,-1586 953.37,-1598.16 957.68,-1608.34 988.12,-1620 1015.02,-1630.31 1046.73,-1638.16 1070.43,-1643.25"/>
<polygon fill="black" stroke="black" points="1069.88,-1646.71 1080.39,-1645.32 1071.31,-1639.85 1069.88,-1646.71"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket -->
<g id="node127" class="node">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket</title>
<g id="a_node127"><a xlink:title="(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket | defined in message.go:207&#10;at message.go:208: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-1491" rx="72.11" ry="18"/>
<text text-anchor="middle" x="815.32" y="-1487.3" font-family="Verdana" font-size="14.00">IsSendRedPacket</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem -->
<g id="edge164" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Message).IsSendRedPacket&#45;&gt;(*github.com/eatMoreApple/openwechat.Message).IsSystem</title>
<g id="a_edge164"><a xlink:title="at message.go:208: calling [(*github.com/eatMoreApple/openwechat.Message).IsSystem]">
<path fill="none" stroke="black" d="M884.16,-1485.37C936.76,-1481.01 1008.45,-1475.06 1055.85,-1471.13"/>
<polygon fill="black" stroke="black" points="1056.2,-1474.62 1065.88,-1470.3 1055.62,-1467.64 1056.2,-1474.62"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err -->
<g id="edge72" class="edge">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).Err</title>
<g id="a_edge72"><a xlink:title="at response.go:46: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]&#10;at response.go:47: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).Err]">
<path fill="none" stroke="black" d="M2872.66,-3166.64C2924.64,-3178.04 3030.52,-3201.27 3085.53,-3213.33"/>
<polygon fill="black" stroke="black" points="3084.99,-3216.8 3095.5,-3215.52 3086.49,-3209.96 3084.99,-3216.8"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll -->
<g id="edge9" class="edge">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanXML&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll</title>
<g id="a_edge9"><a xlink:title="at response.go:37: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<path fill="none" stroke="black" d="M2608.24,-3160C2658.34,-3160 2745.25,-3160 2797.33,-3160"/>
<polygon fill="black" stroke="black" points="2797.57,-3163.5 2807.57,-3160 2797.57,-3156.5 2797.57,-3163.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll -->
<g id="edge219" class="edge">
<title>(*github.com/eatMoreApple/openwechat.ReturnResponse).ScanJSON&#45;&gt;(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll</title>
<g id="a_edge219"><a xlink:title="at response.go:28: calling [(*github.com/eatMoreApple/openwechat.ReturnResponse).ReadAll]">
<path fill="none" stroke="black" d="M2607.66,-3212.39C2658.67,-3200.91 2748.56,-3180.67 2800.42,-3168.99"/>
<polygon fill="black" stroke="black" points="2801.27,-3172.39 2810.26,-3166.78 2799.74,-3165.56 2801.27,-3172.39"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).updateMembers -->
<g id="node132" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).updateMembers</title>
<g id="a_node132"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).updateMembers | defined in user.go:140&#10;at user.go:142: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact]&#10;at user.go:146: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1645.94" cy="-2572" rx="67.2" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-2568.3" font-family="Verdana" font-size="14.00">updateMembers</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact -->
<g id="edge154" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact</title>
<g id="a_edge154"><a xlink:title="at user.go:142: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxGetContact]">
<path fill="none" stroke="black" d="M1651.12,-2590.21C1665.42,-2652.64 1713.47,-2863.8 1749.64,-3039 1762.92,-3103.28 1763.77,-3119.85 1777.64,-3184 1789.33,-3238.05 1767.5,-3265.94 1806.64,-3305 1818.34,-3316.67 1833.7,-3324.12 1849.66,-3328.8"/>
<polygon fill="black" stroke="black" points="1849.09,-3332.27 1859.65,-3331.38 1850.83,-3325.49 1849.09,-3332.27"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SetOwner -->
<g id="node196" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SetOwner</title>
<g id="a_node196"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SetOwner | defined in user.go:438">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-2253" rx="42.8" ry="18"/>
<text text-anchor="middle" x="1934" y="-2249.3" font-family="Verdana" font-size="14.00">SetOwner</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner -->
<g id="edge171" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).updateMembers&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner</title>
<g id="a_edge171"><a xlink:title="at user.go:146: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]">
<path fill="none" stroke="black" d="M1662.73,-2554.39C1710.82,-2500.77 1855.57,-2339.34 1911.04,-2277.49"/>
<polygon fill="black" stroke="black" points="1913.88,-2279.56 1917.95,-2269.78 1908.67,-2274.88 1913.88,-2279.56"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).updateMembers -->
<g id="edge28" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Members&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).updateMembers</title>
<g id="a_edge28"><a xlink:title="at user.go:125: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]&#10;at user.go:132: calling [(*github.com/eatMoreApple/openwechat.Self).updateMembers]">
<path fill="none" stroke="black" d="M1423.97,-2572C1462.13,-2572 1521.12,-2572 1568.56,-2572"/>
<polygon fill="black" stroke="black" points="1568.8,-2575.5 1578.8,-2572 1568.8,-2568.5 1568.8,-2575.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Friends -->
<g id="node134" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Friends</title>
<g id="a_node134"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Friends | defined in user.go:171&#10;at user.go:173: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:176: calling [(github.com/eatMoreApple/openwechat.Members).Friends]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2484" rx="33" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2480.3" font-family="Verdana" font-size="14.00">Friends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge17" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge17"><a xlink:title="at user.go:173: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="black" d="M1136.87,-2491.69C1159.21,-2497.69 1190.72,-2506.43 1218.08,-2515 1260.72,-2528.35 1308.98,-2545.28 1342.17,-2557.2"/>
<polygon fill="black" stroke="black" points="1341.37,-2560.63 1351.96,-2560.73 1343.74,-2554.05 1341.37,-2560.63"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Friends -->
<g id="node204" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Friends</title>
<g id="a_node204"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Friends | defined in user.go:486&#10;at user.go:489: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-1948" rx="33" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-1944.3" font-family="Verdana" font-size="14.00">Friends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Friends -->
<g id="edge238" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Friends&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Friends</title>
<g id="a_edge238"><a xlink:title="at user.go:176: calling [(github.com/eatMoreApple/openwechat.Members).Friends]">
<path fill="none" stroke="black" d="M1139.7,-2484.29C1164.83,-2482.68 1198.7,-2476.1 1218.08,-2454 1220.28,-2451.5 1280.08,-1981.54 1282.23,-1979 1296.57,-1962.08 1319.93,-1954.23 1340.52,-1950.66"/>
<polygon fill="black" stroke="black" points="1341.27,-1954.09 1350.67,-1949.2 1340.27,-1947.17 1341.27,-1954.09"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Groups -->
<g id="node135" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Groups</title>
<g id="a_node135"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Groups | defined in user.go:182&#10;at user.go:184: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:187: calling [(github.com/eatMoreApple/openwechat.Members).Groups]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2606" rx="32.4" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2602.3" font-family="Verdana" font-size="14.00">Groups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge81" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge81"><a xlink:title="at user.go:184: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="black" d="M1138.43,-2602.2C1186.07,-2596.31 1278.1,-2584.93 1334.61,-2577.95"/>
<polygon fill="black" stroke="black" points="1335.23,-2581.4 1344.73,-2576.7 1334.37,-2574.45 1335.23,-2581.4"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Groups -->
<g id="node205" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Groups</title>
<g id="a_node205"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Groups | defined in user.go:497&#10;at user.go:500: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2131" rx="32.4" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2127.3" font-family="Verdana" font-size="14.00">Groups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Groups -->
<g id="edge330" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Groups&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Groups</title>
<g id="a_edge330"><a xlink:title="at user.go:187: calling [(github.com/eatMoreApple/openwechat.Members).Groups]">
<path fill="none" stroke="black" d="M1139.33,-2606.2C1164.42,-2604.56 1198.42,-2597.99 1218.08,-2576 1249.11,-2541.3 1251.79,-2197.22 1282.23,-2162 1296.84,-2145.1 1320.43,-2137.27 1341.09,-2133.71"/>
<polygon fill="black" stroke="black" points="1341.86,-2137.13 1351.25,-2132.24 1340.86,-2130.2 1341.86,-2137.13"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage -->
<g id="edge268" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage</title>
<g id="a_edge268"><a xlink:title="at user.go:234: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]">
<path fill="none" stroke="black" d="M1176.59,-3088.98C1192.46,-3084.48 1207.71,-3076.82 1218.08,-3064 1259.05,-3013.34 1240.01,-1942.62 1282.23,-1893 1285.31,-1889.38 1288.83,-1886.28 1292.68,-1883.62"/>
<polygon fill="black" stroke="black" points="1294.64,-1886.53 1301.55,-1878.49 1291.14,-1880.47 1294.64,-1886.53"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend -->
<g id="edge296" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend</title>
<g id="a_edge296"><a xlink:title="at user.go:235: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend]">
<path fill="none" stroke="black" d="M1179.59,-3094C1211.24,-3094 1248.95,-3094 1283.24,-3094"/>
<polygon fill="black" stroke="black" points="1283.29,-3097.5 1293.29,-3094 1283.29,-3090.5 1283.29,-3097.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).sendMessageToUser -->
<g id="node137" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser</title>
<g id="a_node137"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser | defined in user.go:214&#10;at user.go:219: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1645.94" cy="-3069" rx="82.51" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-3065.3" font-family="Verdana" font-size="14.00">sendMessageToUser</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).sendMessageToUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="edge314" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_edge314"><a xlink:title="at user.go:219: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<path fill="none" stroke="black" d="M1648.89,-3087.24C1658.02,-3168.83 1699.45,-3498.93 1777.64,-3559 1814.09,-3587 1867.98,-3561.97 1901.76,-3540.58"/>
<polygon fill="black" stroke="black" points="1903.87,-3543.38 1910.31,-3534.97 1900.03,-3537.53 1903.87,-3543.38"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser -->
<g id="edge13" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser</title>
<g id="a_edge13"><a xlink:title="at user.go:229: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<path fill="none" stroke="black" d="M1465.28,-3086.26C1495.32,-3083.38 1529.5,-3080.09 1559.93,-3077.17"/>
<polygon fill="black" stroke="black" points="1560.47,-3080.63 1570.09,-3076.19 1559.8,-3073.66 1560.47,-3080.63"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog -->
<g id="edge43" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SetRemarkNameToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog</title>
<g id="a_edge43"><a xlink:title="at user.go:256: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxOplog]">
<path fill="none" stroke="black" d="M1188.74,-3226.66C1199.9,-3231.33 1210.22,-3237.88 1218.08,-3247 1310.51,-3354.23 1153.69,-3499.69 1282.23,-3559 1360.93,-3595.31 1408.03,-3611.17 1477.24,-3559 1571.37,-3488.03 1491.01,-3405.93 1550.24,-3304 1613.94,-3194.38 1693.71,-3213.78 1749.64,-3100 1829.84,-2936.87 1684.75,-2829.84 1806.64,-2695 1822.08,-2677.93 1845.24,-2669.53 1867.54,-2665.62"/>
<polygon fill="black" stroke="black" points="1868.31,-2669.04 1877.69,-2664.12 1867.29,-2662.11 1868.31,-2669.04"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser -->
<g id="edge298" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser</title>
<g id="a_edge298"><a xlink:title="at user.go:327: calling [(*github.com/eatMoreApple/openwechat.Self).sendMessageToUser]">
<path fill="none" stroke="black" d="M1449.26,-2440.46C1459.68,-2444.89 1469.55,-2450.88 1477.24,-2459 1560.08,-2546.53 1624.13,-2932.29 1640.73,-3040.62"/>
<polygon fill="black" stroke="black" points="1637.31,-3041.41 1642.27,-3050.78 1644.23,-3040.36 1637.31,-3041.41"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom -->
<g id="edge128" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom</title>
<g id="a_edge128"><a xlink:title="at user.go:280: calling [(*github.com/eatMoreApple/openwechat.Caller).AddFriendIntoChatRoom]">
<path fill="none" stroke="black" d="M1429.62,-2504.55C1447.23,-2512.92 1465.91,-2525.09 1477.24,-2542 1616.45,-2749.79 1362.26,-2935.01 1550.24,-3100 1616.85,-3158.46 1681.07,-3156.14 1749.64,-3100 1848.92,-3018.72 1717.84,-2909.6 1806.64,-2817 1814.62,-2808.68 1824.45,-2802.44 1835.06,-2797.79"/>
<polygon fill="black" stroke="black" points="1836.51,-2800.98 1844.56,-2794.1 1833.97,-2794.46 1836.51,-2800.98"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members -->
<g id="edge213" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members</title>
<g id="a_edge213"><a xlink:title="at user.go:266: calling [(*github.com/eatMoreApple/openwechat.Group).Members]">
<path fill="none" stroke="black" d="M1321.89,-2476.25C1308.27,-2471.95 1294.3,-2466.31 1282.23,-2459 1247.25,-2437.8 1255.76,-2408.92 1218.08,-2393 1097.1,-2341.88 936.73,-2367.04 860.37,-2383.93"/>
<polygon fill="black" stroke="black" points="859.58,-2380.52 850.61,-2386.14 861.13,-2387.34 859.58,-2380.52"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friend).String -->
<g id="node168" class="node">
<title>(github.com/eatMoreApple/openwechat.Friend).String</title>
<g id="a_node168"><a xlink:title="(github.com/eatMoreApple/openwechat.Friend).String | defined in relations.go:12">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-2338" rx="28.1" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-2334.3" font-family="Verdana" font-size="14.00">String</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Friend).String -->
<g id="edge227" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup&#45;&gt;(github.com/eatMoreApple/openwechat.Friend).String</title>
<g id="a_edge227"><a xlink:title="at user.go:274: calling [(github.com/eatMoreApple/openwechat.Friend).String]">
<path fill="none" stroke="black" d="M1443.47,-2475.74C1455.27,-2471.53 1467.13,-2466.05 1477.24,-2459 1520.32,-2428.92 1506.76,-2395.51 1550.24,-2366 1567.47,-2354.3 1589.68,-2347.4 1608.26,-2343.38"/>
<polygon fill="black" stroke="black" points="1609.02,-2346.79 1618.15,-2341.43 1607.66,-2339.93 1609.02,-2346.79"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage -->
<g id="node142" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage</title>
<g id="a_node142"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).forwardMessage | defined in user.go:360&#10;at user.go:368: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]&#10;at user.go:376: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]&#10;at user.go:384: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1383.73" cy="-2850" rx="67.81" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2846.3" font-family="Verdana" font-size="14.00">forwardMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg -->
<g id="edge143" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg</title>
<g id="a_edge143"><a xlink:title="at user.go:368: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendMsg]">
<path fill="none" stroke="black" d="M1393.23,-2867.96C1443.96,-2974.87 1707.18,-3524.29 1777.64,-3566 1817.67,-3589.69 1870.53,-3563 1903.12,-3540.97"/>
<polygon fill="black" stroke="black" points="1905.16,-3543.81 1911.35,-3535.21 1901.15,-3538.08 1905.16,-3543.81"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg -->
<g id="edge173" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg</title>
<g id="a_edge173"><a xlink:title="at user.go:376: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendMsgImg]">
<path fill="none" stroke="black" d="M1393.24,-2831.88C1411.74,-2791.68 1455.67,-2691.53 1477.24,-2603 1509.87,-2469.04 1499.86,-2432.12 1514.24,-2295 1518.91,-2250.4 1520.73,-1926.77 1550.24,-1893 1618.74,-1814.6 1678.35,-1868.92 1778.64,-1841 1812.84,-1831.48 1850.7,-1819 1880.36,-1808.77"/>
<polygon fill="black" stroke="black" points="1881.79,-1811.98 1890.09,-1805.4 1879.49,-1805.37 1881.79,-1811.98"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg -->
<g id="edge243" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).forwardMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg</title>
<g id="a_edge243"><a xlink:title="at user.go:384: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxSendAppMsg]">
<path fill="none" stroke="black" d="M1393.27,-2831.89C1411.82,-2791.7 1455.87,-2691.58 1477.24,-2603 1481.43,-2585.6 1512.48,-2300.81 1514.24,-2283 1519.07,-2233.96 1519.52,-1879.53 1550.24,-1841 1619.02,-1754.72 1750.49,-1732.46 1839.95,-1727.95"/>
<polygon fill="black" stroke="black" points="1840.26,-1731.44 1850.1,-1727.5 1839.95,-1724.44 1840.26,-1731.44"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="node143" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_node143"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups | defined in user.go:402&#10;at user.go:407: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2850" rx="104.51" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2846.3" font-family="Verdana" font-size="14.00">ForwardMessageToGroups</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage -->
<g id="edge233" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage</title>
<g id="a_edge233"><a xlink:title="at user.go:407: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<path fill="none" stroke="black" d="M1211.27,-2850C1242.6,-2850 1276.44,-2850 1305.71,-2850"/>
<polygon fill="black" stroke="black" points="1305.86,-2853.5 1315.86,-2850 1305.86,-2846.5 1305.86,-2853.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RevokeMessage -->
<g id="node144" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).RevokeMessage</title>
<g id="a_node144"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).RevokeMessage | defined in user.go:355&#10;at user.go:356: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3338" rx="66" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3334.3" font-family="Verdana" font-size="14.00">RevokeMessage</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RevokeMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg -->
<g id="edge83" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).RevokeMessage&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg</title>
<g id="a_edge83"><a xlink:title="at user.go:356: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxRevokeMsg]">
<path fill="none" stroke="black" d="M1169.91,-3343.28C1187.65,-3347.72 1205.54,-3355.51 1218.08,-3369 1285.67,-3441.74 1194.05,-3537.36 1282.23,-3583 1359.2,-3622.84 1397.3,-3616.5 1477.24,-3583 1636.48,-3516.26 1669.2,-3458.78 1749.64,-3306 1781.07,-3246.3 1768.82,-3223.75 1778.64,-3157 1787.72,-3095.35 1765.79,-2925.05 1806.64,-2878 1817.38,-2865.64 1832.16,-2857.8 1847.83,-2852.9"/>
<polygon fill="black" stroke="black" points="1848.95,-2856.22 1857.68,-2850.22 1847.11,-2849.47 1848.95,-2856.22"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="edge76" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_edge76"><a xlink:title="at user.go:242: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<path fill="none" stroke="black" d="M1152.27,-3414.04C1175.56,-3424.21 1202.4,-3440.04 1218.08,-3463 1275.91,-3547.67 1205.25,-3600.39 1253.23,-3691 1302.02,-3783.13 1413.41,-3795 1513.24,-3795 1513.24,-3795 1513.24,-3795 1646.94,-3795 1708.12,-3795 1741.02,-3803.24 1778.64,-3755 1856.91,-3654.65 1725.68,-3281.19 1806.64,-3183 1814.45,-3173.54 1824.62,-3166.7 1835.82,-3161.79"/>
<polygon fill="black" stroke="black" points="1837.34,-3164.95 1845.43,-3158.1 1834.84,-3158.41 1837.34,-3164.95"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Mps -->
<g id="node146" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).Mps</title>
<g id="a_node146"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).Mps | defined in user.go:193&#10;at user.go:195: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:198: calling [(github.com/eatMoreApple/openwechat.Members).MPs]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2545" rx="27" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2541.3" font-family="Verdana" font-size="14.00">Mps</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge185" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge185"><a xlink:title="at user.go:195: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="black" d="M1133.55,-2547.54C1179.35,-2552.04 1275.35,-2561.46 1333.92,-2567.21"/>
<polygon fill="black" stroke="black" points="1333.75,-2570.71 1344.04,-2568.2 1334.43,-2563.74 1333.75,-2570.71"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).MPs -->
<g id="node206" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).MPs</title>
<g id="a_node206"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).MPs | defined in user.go:508&#10;at user.go:511: calling [(*github.com/eatMoreApple/openwechat.User).IsMP]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2070" rx="27" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2066.3" font-family="Verdana" font-size="14.00">MPs</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(github.com/eatMoreApple/openwechat.Members).MPs -->
<g id="edge264" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).Mps&#45;&gt;(github.com/eatMoreApple/openwechat.Members).MPs</title>
<g id="a_edge264"><a xlink:title="at user.go:198: calling [(github.com/eatMoreApple/openwechat.Members).MPs]">
<path fill="none" stroke="black" d="M1133.75,-2545.57C1159.2,-2544.6 1197.07,-2538.84 1218.08,-2515 1255.32,-2472.74 1244.39,-2319.62 1253.23,-2264 1259.01,-2227.66 1257.87,-2128.57 1282.23,-2101 1298.24,-2082.89 1324.55,-2075.22 1346.24,-2072.04"/>
<polygon fill="black" stroke="black" points="1346.94,-2075.48 1356.45,-2070.81 1346.11,-2068.53 1346.94,-2075.48"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="node147" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_node147"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends | defined in user.go:393&#10;at user.go:398: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3033" rx="105.71" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3029.3" font-family="Verdana" font-size="14.00">ForwardMessageToFriends</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage -->
<g id="edge88" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).forwardMessage</title>
<g id="a_edge88"><a xlink:title="at user.go:398: calling [(*github.com/eatMoreApple/openwechat.Self).forwardMessage]">
<path fill="none" stroke="black" d="M1177.42,-3019.55C1191.38,-3015.36 1205.58,-3009.94 1218.08,-3003 1278.15,-2969.64 1333.48,-2909.79 1362.17,-2875.67"/>
<polygon fill="black" stroke="black" points="1365.19,-2877.51 1368.88,-2867.58 1359.8,-2873.05 1365.19,-2877.51"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendImageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg -->
<g id="edge152" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendImageToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg</title>
<g id="a_edge152"><a xlink:title="at user.go:340: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendImageMsg]">
<path fill="none" stroke="black" d="M1181.17,-2979.13C1195.37,-2983.89 1208.72,-2991.37 1218.08,-3003 1302.77,-3108.28 1195.75,-3487.72 1253.23,-3610 1293.2,-3695.03 1322.96,-3697.69 1777.64,-3748 1840.12,-3754.91 1766.64,-3231.49 1806.64,-3183 1814.45,-3173.54 1824.63,-3166.7 1835.82,-3161.79"/>
<polygon fill="black" stroke="black" points="1837.35,-3164.95 1845.43,-3158.11 1834.84,-3158.42 1837.35,-3164.95"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup -->
<g id="edge301" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).AddFriendIntoManyGroups&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup</title>
<g id="a_edge301"><a xlink:title="at user.go:318: calling [(*github.com/eatMoreApple/openwechat.Self).AddFriendsIntoGroup]">
<path fill="none" stroke="black" d="M1192.12,-3143.79C1202,-3139.31 1211.04,-3133.23 1218.08,-3125 1387.51,-2926.9 1135.57,-2757.5 1282.23,-2542 1292.34,-2527.14 1307.99,-2516.14 1323.95,-2508.14"/>
<polygon fill="black" stroke="black" points="1325.75,-2511.17 1333.34,-2503.77 1322.8,-2504.82 1325.75,-2511.17"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom -->
<g id="edge52" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom</title>
<g id="a_edge52"><a xlink:title="at user.go:311: calling [(*github.com/eatMoreApple/openwechat.Caller).RemoveFriendFromChatRoom]">
<path fill="none" stroke="black" d="M1192.35,-2800.49C1202.26,-2805.13 1211.25,-2811.44 1218.08,-2820 1320.89,-2948.85 1132.56,-3489.94 1282.23,-3559 1376.49,-3602.49 1434.69,-3598.69 1514.24,-3532 1625.38,-3438.82 1680.24,-3433.35 1749.64,-3306 1781.93,-3246.76 1766.28,-3223.32 1778.64,-3157 1791.64,-3087.32 1758.16,-3051.7 1806.64,-3000 1812.82,-2993.42 1820.14,-2988.13 1828.11,-2983.9"/>
<polygon fill="black" stroke="black" points="1829.79,-2986.98 1837.35,-2979.56 1826.81,-2980.65 1829.79,-2986.98"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members -->
<g id="edge103" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).RemoveMemberFromGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).Members</title>
<g id="a_edge103"><a xlink:title="at user.go:293: calling [(*github.com/eatMoreApple/openwechat.Group).Members]">
<path fill="none" stroke="black" d="M1017.37,-2778.38C1006.4,-2773.83 996.22,-2767.58 988.12,-2759 962.24,-2731.59 948.56,-2453.83 923.12,-2426 908.4,-2409.9 885.87,-2401.97 865.28,-2398.14"/>
<polygon fill="black" stroke="black" points="865.8,-2394.68 855.38,-2396.57 864.71,-2401.59 865.8,-2394.68"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage -->
<g id="edge302" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;github.com/eatMoreApple/openwechat.NewTextSendMessage</title>
<g id="a_edge302"><a xlink:title="at user.go:332: calling [github.com/eatMoreApple/openwechat.NewTextSendMessage]">
<path fill="none" stroke="black" d="M1178.69,-2421.89C1193.46,-2418.38 1207.68,-2412.01 1218.08,-2401 1257.82,-2358.9 1246.99,-2200.44 1254.23,-2143 1261.22,-2087.54 1244.81,-1934.53 1282.23,-1893 1285.41,-1889.47 1289.01,-1886.44 1292.92,-1883.84"/>
<polygon fill="black" stroke="black" points="1294.89,-1886.74 1301.9,-1878.8 1291.47,-1880.64 1294.89,-1886.74"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup -->
<g id="edge60" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendTextToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup</title>
<g id="a_edge60"><a xlink:title="at user.go:333: calling [(*github.com/eatMoreApple/openwechat.Self).SendMessageToGroup]">
<path fill="none" stroke="black" d="M1178.87,-2424.29C1211.1,-2424.88 1249.73,-2425.58 1284.65,-2426.22"/>
<polygon fill="black" stroke="black" points="1284.81,-2429.72 1294.88,-2426.4 1284.94,-2422.72 1284.81,-2429.72"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail -->
<g id="node152" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail</title>
<g id="a_node152"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail | defined in user.go:204&#10;at user.go:206: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:210: calling [(github.com/eatMoreApple/openwechat.Members).detail]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2728" rx="89.81" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2724.3" font-family="Verdana" font-size="14.00">UpdateMembersDetail</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge61" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge61"><a xlink:title="at user.go:206: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="black" d="M1170.83,-2715.35C1186.7,-2710.96 1203.39,-2705.26 1218.08,-2698 1273.17,-2670.76 1328.02,-2623.8 1358.44,-2595.55"/>
<polygon fill="black" stroke="black" points="1361.11,-2597.85 1366,-2588.45 1356.31,-2592.75 1361.11,-2597.85"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail -->
<g id="node207" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).detail</title>
<g id="a_node207"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).detail | defined in user.go:520&#10;at user.go:524: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:544: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]&#10;at user.go:556: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]&#10;at user.go:563: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]">
<ellipse fill="moccasin" stroke="black" stroke-width="0.5" cx="1645.94" cy="-2253" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-2249.3" font-family="Verdana" font-size="14.00">detail</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).detail -->
<g id="edge325" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).UpdateMembersDetail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).detail</title>
<g id="a_edge325"><a xlink:title="at user.go:210: calling [(github.com/eatMoreApple/openwechat.Members).detail]">
<path fill="none" stroke="black" d="M1185.78,-2736.67C1198.26,-2741.46 1209.78,-2748.56 1218.08,-2759 1270.55,-2825 1217.8,-3440.49 1253.23,-3517 1260.63,-3532.98 1265.84,-3537.55 1282.23,-3544 1322.56,-3559.87 1445.69,-3573.71 1477.24,-3544 1579.57,-3447.62 1463,-2391.22 1550.24,-2281 1564.07,-2263.52 1588.29,-2256.57 1608.77,-2253.97"/>
<polygon fill="black" stroke="black" points="1609.15,-2257.45 1618.76,-2252.99 1608.46,-2250.48 1609.15,-2257.45"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="edge275" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToGroup&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_edge275"><a xlink:title="at user.go:347: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<path fill="none" stroke="black" d="M1173.72,-2915.9C1190.62,-2920.43 1207.09,-2928.35 1218.08,-2942 1307.43,-3053 1154.52,-3516.81 1282.23,-3580 1480.22,-3677.96 1623.98,-3592.68 1749.64,-3411 1786.88,-3357.16 1761.43,-3169.34 1806.64,-3122 1820.13,-3107.88 1838.91,-3099.76 1857.88,-3095.2"/>
<polygon fill="black" stroke="black" points="1858.71,-3098.6 1867.78,-3093.13 1857.28,-3091.75 1858.71,-3098.6"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper -->
<g id="node154" class="node">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper</title>
<g id="a_node154"><a xlink:title="(*github.com/eatMoreApple/openwechat.Self).FileHelper | defined in user.go:153&#10;at user.go:158: calling [(*github.com/eatMoreApple/openwechat.Self).Members]&#10;at user.go:162: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]&#10;at user.go:166: calling [(github.com/eatMoreApple/openwechat.Members).First]&#10;at user.go:164: calling [github.com/eatMoreApple/openwechat.NewFriendHelper]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-2667" rx="42.8" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-2663.3" font-family="Verdana" font-size="14.00">FileHelper</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;github.com/eatMoreApple/openwechat.NewFriendHelper -->
<g id="edge276" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;github.com/eatMoreApple/openwechat.NewFriendHelper</title>
<g id="a_edge276"><a xlink:title="at user.go:164: calling [github.com/eatMoreApple/openwechat.NewFriendHelper]">
<path fill="none" stroke="black" d="M1149.61,-2667.38C1173.55,-2670 1201.92,-2677.66 1218.08,-2698 1271.35,-2765.06 1200.11,-3400.82 1253.23,-3468 1265.82,-3483.93 1284.77,-3493.31 1304.32,-3498.75"/>
<polygon fill="black" stroke="black" points="1303.7,-3502.2 1314.25,-3501.18 1305.37,-3495.4 1303.7,-3502.2"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members -->
<g id="edge47" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).Members</title>
<g id="a_edge47"><a xlink:title="at user.go:158: calling [(*github.com/eatMoreApple/openwechat.Self).Members]">
<path fill="none" stroke="black" d="M1144.28,-2658.14C1165.92,-2652.63 1193.76,-2645.08 1218.08,-2637 1262.28,-2622.32 1311.85,-2602.24 1344.94,-2588.3"/>
<polygon fill="black" stroke="black" points="1346.39,-2591.49 1354.24,-2584.37 1343.66,-2585.04 1346.39,-2591.49"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName -->
<g id="edge139" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName</title>
<g id="a_edge139"><a xlink:title="at user.go:162: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName]">
<path fill="none" stroke="black" d="M1149.68,-2666.6C1173.33,-2664.02 1201.39,-2656.57 1218.08,-2637 1261.38,-2586.24 1239.8,-2091.48 1282.23,-2040 1288.35,-2032.57 1296.21,-2026.89 1304.83,-2022.55"/>
<polygon fill="black" stroke="black" points="1306.31,-2025.73 1314.05,-2018.5 1303.49,-2019.32 1306.31,-2025.73"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge271" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).FileHelper&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge271"><a xlink:title="at user.go:166: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="black" d="M1149.69,-2668.1C1173.19,-2671.02 1201.09,-2678.74 1218.08,-2698 1345.07,-2841.89 1136.8,-2999.79 1282.23,-3125 1347.91,-3181.55 1413.53,-3183.76 1477.24,-3125 1551.15,-3056.83 1487.99,-2301.96 1550.24,-2223 1564.16,-2205.33 1588.38,-2197.62 1608.83,-2194.3"/>
<polygon fill="black" stroke="black" points="1609.36,-2197.76 1618.81,-2192.97 1608.44,-2190.82 1609.36,-2197.76"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.Self).SendFileToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile -->
<g id="edge287" class="edge">
<title>(*github.com/eatMoreApple/openwechat.Self).SendFileToFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile</title>
<g id="a_edge287"><a xlink:title="at user.go:249: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxSendFile]">
<path fill="none" stroke="black" d="M1173.31,-3282.56C1190.1,-3287.11 1206.62,-3294.88 1218.08,-3308 1307.48,-3410.37 1165.01,-3538.22 1282.23,-3607 1371.25,-3659.23 1413.37,-3638.85 1514.24,-3617 1626.56,-3592.67 1680.55,-3601.84 1749.64,-3510 1775.84,-3475.18 1777.33,-3154.24 1806.64,-3122 1819.84,-3107.49 1838.63,-3099.25 1857.7,-3094.71"/>
<polygon fill="black" stroke="black" points="1858.58,-3098.1 1867.67,-3092.65 1857.16,-3091.24 1858.58,-3098.1"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).Revoke -->
<g id="node156" class="node">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).Revoke</title>
<g id="a_node156"><a xlink:title="(*github.com/eatMoreApple/openwechat.SentMessage).Revoke | defined in message.go:478&#10;at message.go:479: calling [(*github.com/eatMoreApple/openwechat.Self).RevokeMessage]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3499" rx="33" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3495.3" font-family="Verdana" font-size="14.00">Revoke</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SentMessage).Revoke&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RevokeMessage -->
<g id="edge222" class="edge">
<title>(*github.com/eatMoreApple/openwechat.SentMessage).Revoke&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).RevokeMessage</title>
<g id="a_edge222"><a xlink:title="at message.go:479: calling [(*github.com/eatMoreApple/openwechat.Self).RevokeMessage]">
<path fill="none" stroke="black" d="M843.52,-3489.12C866.22,-3480.07 898.69,-3465.16 923.12,-3446 958.36,-3418.36 950.27,-3392.93 988.12,-3369 1002.96,-3359.62 1020.57,-3353.06 1037.58,-3348.48"/>
<polygon fill="black" stroke="black" points="1038.64,-3351.82 1047.5,-3346.01 1036.95,-3345.03 1038.64,-3351.82"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success -->
<g id="edge156" class="edge">
<title>(*github.com/eatMoreApple/openwechat.SyncCheckResponse).NorMal&#45;&gt;(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success</title>
<g id="a_edge156"><a xlink:title="at items.go:141: calling [(*github.com/eatMoreApple/openwechat.SyncCheckResponse).Success]">
<path fill="none" stroke="black" d="M1677.55,-4220C1727.86,-4220 1828.29,-4220 1887.13,-4220"/>
<polygon fill="black" stroke="black" points="1887.26,-4223.5 1897.26,-4220 1887.26,-4216.5 1887.26,-4223.5"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact -->
<g id="edge329" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact</title>
<g id="a_edge329"><a xlink:title="at user.go:86: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]">
<path fill="none" stroke="black" d="M1673.22,-249.86C1697.37,-251.31 1732,-257.68 1749.64,-281 1802.39,-350.69 1751.83,-3358.92 1806.64,-3427 1813.63,-3435.67 1822.62,-3442.11 1832.58,-3446.87"/>
<polygon fill="black" stroke="black" points="1831.4,-3450.16 1841.98,-3450.77 1834.08,-3443.7 1831.4,-3450.16"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First -->
<g id="edge86" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).Detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).First</title>
<g id="a_edge86"><a xlink:title="at user.go:90: calling [(github.com/eatMoreApple/openwechat.Members).First]">
<path fill="none" stroke="black" d="M1618.92,-250.89C1590.71,-253.52 1548.35,-262.69 1532.24,-293.5 1508.34,-339.18 1508.34,-2103.82 1532.24,-2149.5 1546.48,-2176.74 1581.41,-2186.73 1608.82,-2190.29"/>
<polygon fill="black" stroke="black" points="1608.59,-2193.79 1618.91,-2191.37 1609.33,-2186.83 1608.59,-2193.79"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsFriend -->
<g id="node161" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).IsFriend</title>
<g id="a_node161"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).IsFriend | defined in user.go:96&#10;at user.go:97: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-311" rx="36.1" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-307.3" font-family="Verdana" font-size="14.00">IsFriend</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="node162" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_node162"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).IsGroup | defined in user.go:101">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-356" rx="35.5" ry="18"/>
<text text-anchor="middle" x="1934" y="-352.3" font-family="Verdana" font-size="14.00">IsGroup</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="edge190" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).IsFriend&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_edge190"><a xlink:title="at user.go:97: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<path fill="none" stroke="black" d="M1680.88,-316.34C1732.85,-324.51 1832.12,-340.13 1889.37,-349.14"/>
<polygon fill="black" stroke="black" points="1889.12,-352.64 1899.55,-350.74 1890.21,-345.73 1889.12,-352.64"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).GetAvatarResponse -->
<g id="node163" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse</title>
<g id="a_node163"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse | defined in user.go:58&#10;at user.go:59: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1934" cy="-250" rx="80.11" ry="18"/>
<text text-anchor="middle" x="1934" y="-246.3" font-family="Verdana" font-size="14.00">GetAvatarResponse</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).GetAvatarResponse&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg -->
<g id="edge214" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse&#45;&gt;(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg</title>
<g id="a_edge214"><a xlink:title="at user.go:59: calling [(*github.com/eatMoreApple/openwechat.Client).WebWxGetHeadImg]">
<path fill="none" stroke="black" d="M1973.83,-265.74C2000.05,-278.3 2033.4,-298.39 2053.35,-326 2129.69,-431.63 2033.42,-518.63 2126.35,-610 2136.74,-620.21 2149.94,-627.17 2163.86,-631.87"/>
<polygon fill="black" stroke="black" points="2163,-635.27 2173.58,-634.77 2165,-628.56 2163,-635.27"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).SaveAvatar -->
<g id="node164" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).SaveAvatar</title>
<g id="a_node164"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).SaveAvatar | defined in user.go:63&#10;at user.go:64: calling [(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-189" rx="48.9" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-185.3" font-family="Verdana" font-size="14.00">SaveAvatar</text>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).SaveAvatar&#45;&gt;(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse -->
<g id="edge250" class="edge">
<title>(*github.com/eatMoreApple/openwechat.User).SaveAvatar&#45;&gt;(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse</title>
<g id="a_edge250"><a xlink:title="at user.go:64: calling [(*github.com/eatMoreApple/openwechat.User).GetAvatarResponse]">
<path fill="none" stroke="black" d="M1688.84,-197.94C1735.15,-207.81 1810.43,-223.86 1865.16,-235.53"/>
<polygon fill="black" stroke="black" points="1864.63,-239 1875.14,-237.66 1866.09,-232.15 1864.63,-239"/>
</a>
</g>
</g>
<!-- (*github.com/eatMoreApple/openwechat.User).IsMP -->
<g id="node165" class="node">
<title>(*github.com/eatMoreApple/openwechat.User).IsMP</title>
<g id="a_node165"><a xlink:title="(*github.com/eatMoreApple/openwechat.User).IsMP | defined in user.go:106">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-372" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-368.3" font-family="Verdana" font-size="14.00">IsMP</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.BaseResponse).Error&#45;&gt;github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode -->
<g id="edge292" class="edge">
<title>(github.com/eatMoreApple/openwechat.BaseResponse).Error&#45;&gt;github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode</title>
<g id="a_edge292"><a xlink:title="at items.go:49: calling [github.com/eatMoreApple/openwechat.getResponseErrorWithRetCode]">
<path fill="none" stroke="black" d="M2868.53,-4300C2896.38,-4300 2942.58,-4300 2987.87,-4300"/>
<polygon fill="black" stroke="black" points="2988.12,-4303.5 2998.12,-4300 2988.12,-4296.5 2988.12,-4303.5"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="node169" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_node169"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).Search | defined in relations.go:85&#10;at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1]&#10;at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1]&#10;at relations.go:90: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:93: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3760" rx="31.2" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3756.3" font-family="Verdana" font-size="14.00">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="node170" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_node170"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).Count | defined in relations.go:49">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-3831" rx="27.5" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3827.3" font-family="Verdana" font-size="14.00">Count</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="edge111" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_edge111"><a xlink:title="at relations.go:90: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:93: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<path fill="none" stroke="black" d="M844.33,-3766.87C897.45,-3779.91 1012.69,-3808.18 1070.75,-3822.43"/>
<polygon fill="black" stroke="black" points="1070.02,-3825.85 1080.57,-3824.84 1071.69,-3819.06 1070.02,-3825.85"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 -->
<g id="node171" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1</title>
<g id="a_node171"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 | defined in relations.go:76">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-3648" rx="90.41" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3644.3" font-family="Verdana" font-size="14.00">SearchByNickName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1 -->
<g id="edge98" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1</title>
<g id="a_edge98"><a xlink:title="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByNickName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M838.54,-3747.91C870.76,-3730.75 932.66,-3699.2 988.12,-3679 1003.48,-3673.41 1020.3,-3668.36 1036.3,-3664.05"/>
<polygon fill="black" stroke="black" points="1037.35,-3667.39 1046.13,-3661.45 1035.57,-3660.62 1037.35,-3667.39"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 -->
<g id="node172" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1</title>
<g id="a_node172"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 | defined in relations.go:81">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-3709" rx="103.31" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3705.3" font-family="Verdana" font-size="14.00">SearchByRemarkName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1 -->
<g id="edge2" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1</title>
<g id="a_edge2"><a xlink:title="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M845.39,-3754.88C886.57,-3747.62 963.53,-3734.05 1023.12,-3723.55"/>
<polygon fill="black" stroke="black" points="1024.04,-3726.94 1033.28,-3721.76 1022.82,-3720.05 1024.04,-3726.94"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 -->
<g id="node173" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1</title>
<g id="a_node173"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 | defined in relations.go:71">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-3770" rx="91.11" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-3766.3" font-family="Verdana" font-size="14.00">SearchByUserName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1 -->
<g id="edge281" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1</title>
<g id="a_edge281"><a xlink:title="at relations.go:98: calling [(github.com/eatMoreApple/openwechat.Friends).SearchByUserName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M846.74,-3761.05C884.37,-3762.35 950.32,-3764.63 1006.24,-3766.56"/>
<polygon fill="black" stroke="black" points="1006.45,-3770.07 1016.56,-3766.92 1006.69,-3763.08 1006.45,-3770.07"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByUserName -->
<g id="node174" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByUserName</title>
<g id="a_node174"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByUserName | defined in relations.go:70&#10;at relations.go:71: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-3889" rx="81.31" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3885.3" font-family="Verdana" font-size="14.00">SearchByUserName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="edge102" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_edge102"><a xlink:title="at relations.go:71: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<path fill="none" stroke="black" d="M597.33,-3875.98C610.09,-3871.67 623.22,-3866.09 634.52,-3859 669.92,-3836.76 663.57,-3812.35 699.52,-3791 722.3,-3777.47 751.09,-3769.72 774.14,-3765.35"/>
<polygon fill="black" stroke="black" points="775.04,-3768.74 784.29,-3763.57 773.84,-3761.85 775.04,-3768.74"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage -->
<g id="node175" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage</title>
<g id="a_node175"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendImage | defined in relations.go:154&#10;at relations.go:165: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]&#10;at relations.go:168: calling [(*github.com/eatMoreApple/openwechat.Friend).SendImage]&#10;at relations.go:155: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-3584" rx="49.5" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3580.3" font-family="Verdana" font-size="14.00">SendImage</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge162" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge162"><a xlink:title="at relations.go:155: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="black" d="M542.69,-3565.82C548.12,-3424.18 586.54,-2495.98 670.52,-2230 678.37,-2205.14 679.29,-2195.45 699.52,-2179 713.37,-2167.73 730.73,-2159.87 747.72,-2154.39"/>
<polygon fill="black" stroke="black" points="749.07,-2157.64 757.66,-2151.43 747.08,-2150.93 749.07,-2157.64"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendImage -->
<g id="edge112" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendImage</title>
<g id="a_edge112"><a xlink:title="at relations.go:168: calling [(*github.com/eatMoreApple/openwechat.Friend).SendImage]">
<path fill="none" stroke="black" d="M550.89,-3566.18C571.39,-3526.91 625.94,-3432.59 699.52,-3384 716.98,-3372.47 738.61,-3365.21 758.38,-3360.64"/>
<polygon fill="black" stroke="black" points="759.15,-3364.06 768.21,-3358.55 757.7,-3357.21 759.15,-3364.06"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge45" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge45"><a xlink:title="at relations.go:165: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="black" d="M543.17,-3565.93C549.28,-3476.92 580.93,-3086.61 670.52,-3015 723.5,-2972.65 915.92,-2998.5 1026.34,-3017.75"/>
<polygon fill="black" stroke="black" points="1025.98,-3021.24 1036.43,-3019.54 1027.19,-3014.35 1025.98,-3021.24"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg -->
<g id="node176" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg</title>
<g id="a_node176"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendMsg | defined in relations.go:110&#10;at relations.go:121: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]&#10;at relations.go:111: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:124: calling [(*github.com/eatMoreApple/openwechat.Friend).SendMsg]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-3645" rx="40.3" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3641.3" font-family="Verdana" font-size="14.00">SendMsg</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge206" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge206"><a xlink:title="at relations.go:111: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="black" d="M580.87,-3642.56C600.19,-3639.17 622.04,-3631.6 634.52,-3615 671.66,-3565.6 666.76,-2564.7 670.52,-2503 674.91,-2430.85 654.39,-2235.47 699.52,-2179 710.28,-2165.53 726,-2156.9 742.36,-2151.38"/>
<polygon fill="black" stroke="black" points="743.47,-2154.71 752.05,-2148.48 741.46,-2148 743.47,-2154.71"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendMsg -->
<g id="edge265" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendMsg</title>
<g id="a_edge265"><a xlink:title="at relations.go:124: calling [(*github.com/eatMoreApple/openwechat.Friend).SendMsg]">
<path fill="none" stroke="black" d="M580.19,-3640.44C598.62,-3636.46 619.87,-3628.99 634.52,-3615 693.91,-3558.27 638.05,-3496.49 699.52,-3442 717.35,-3426.19 742.65,-3418.96 764.96,-3415.78"/>
<polygon fill="black" stroke="black" points="765.45,-3419.25 774.97,-3414.59 764.62,-3412.3 765.45,-3419.25"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge53" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge53"><a xlink:title="at relations.go:121: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="black" d="M581.13,-3642.32C600.29,-3638.85 621.89,-3631.27 634.52,-3615 712.74,-3514.21 578.42,-3130.3 670.52,-3042 717.64,-2996.82 899.39,-3008.53 1012.57,-3020.91"/>
<polygon fill="black" stroke="black" points="1012.29,-3024.4 1022.62,-3022.03 1013.07,-3017.45 1012.29,-3024.4"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Last -->
<g id="node177" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).Last</title>
<g id="a_node177"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).Last | defined in relations.go:62&#10;at relations.go:63: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:64: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3821" rx="27" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3817.3" font-family="Verdana" font-size="14.00">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="edge217" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_edge217"><a xlink:title="at relations.go:63: calling [(github.com/eatMoreApple/openwechat.Friends).Count]&#10;at relations.go:64: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<path fill="none" stroke="black" d="M842.51,-3821.91C894.22,-3823.69 1009.54,-3827.68 1068.86,-3829.73"/>
<polygon fill="black" stroke="black" points="1068.8,-3833.23 1078.92,-3830.08 1069.05,-3826.23 1068.8,-3833.23"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByNickName -->
<g id="node178" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByNickName</title>
<g id="a_node178"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByNickName | defined in relations.go:75&#10;at relations.go:76: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-3828" rx="80.11" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3824.3" font-family="Verdana" font-size="14.00">SearchByNickName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="edge288" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_edge288"><a xlink:title="at relations.go:76: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<path fill="none" stroke="black" d="M595.49,-3814.65C648.88,-3801.31 729.57,-3781.16 776.6,-3769.42"/>
<polygon fill="black" stroke="black" points="777.53,-3772.79 786.38,-3766.98 775.83,-3766 777.53,-3772.79"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName -->
<g id="node179" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName</title>
<g id="a_node179"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName | defined in relations.go:80&#10;at relations.go:81: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-3767" rx="93.51" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3763.3" font-family="Verdana" font-size="14.00">SearchByRemarkName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search -->
<g id="edge32" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Search</title>
<g id="a_edge32"><a xlink:title="at relations.go:81: calling [(github.com/eatMoreApple/openwechat.Friends).Search]">
<path fill="none" stroke="black" d="M633.82,-3764.64C681.18,-3763.42 736.58,-3762 773.38,-3761.05"/>
<polygon fill="black" stroke="black" points="773.8,-3764.54 783.71,-3760.79 773.62,-3757.55 773.8,-3764.54"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).First -->
<g id="node180" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).First</title>
<g id="a_node180"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).First | defined in relations.go:54&#10;at relations.go:55: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-3882" rx="27" ry="18"/>
<text text-anchor="middle" x="815.32" y="-3878.3" font-family="Verdana" font-size="14.00">First</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).First&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count -->
<g id="edge161" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).First&#45;&gt;(github.com/eatMoreApple/openwechat.Friends).Count</title>
<g id="a_edge161"><a xlink:title="at relations.go:55: calling [(github.com/eatMoreApple/openwechat.Friends).Count]">
<path fill="none" stroke="black" d="M841.49,-3877.56C892.99,-3868.49 1010.5,-3847.78 1069.9,-3837.31"/>
<polygon fill="black" stroke="black" points="1070.7,-3840.72 1079.94,-3835.54 1069.49,-3833.82 1070.7,-3840.72"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText -->
<g id="node181" class="node">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText</title>
<g id="a_node181"><a xlink:title="(github.com/eatMoreApple/openwechat.Friends).SendText | defined in relations.go:132&#10;at relations.go:133: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:143: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]&#10;at relations.go:146: calling [(*github.com/eatMoreApple/openwechat.Friend).SendText]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-3706" rx="40.3" ry="18"/>
<text text-anchor="middle" x="541.01" y="-3702.3" font-family="Verdana" font-size="14.00">SendText</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge15" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge15"><a xlink:title="at relations.go:133: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="black" d="M580.87,-3703.57C600.2,-3700.18 622.04,-3692.6 634.52,-3676 672.78,-3625.07 666.89,-2593.59 670.52,-2530 672.74,-2490.93 675.19,-2209.66 699.52,-2179 710.23,-2165.49 725.93,-2156.85 742.3,-2151.33"/>
<polygon fill="black" stroke="black" points="743.41,-2154.65 751.98,-2148.43 741.4,-2147.95 743.41,-2154.65"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendText -->
<g id="edge252" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Friend).SendText</title>
<g id="a_edge252"><a xlink:title="at relations.go:146: calling [(*github.com/eatMoreApple/openwechat.Friend).SendText]">
<path fill="none" stroke="black" d="M580.75,-3703.01C599.8,-3699.46 621.42,-3691.9 634.52,-3676 787.07,-3490.76 542.39,-3321.38 699.52,-3140 715.65,-3121.38 741.69,-3113.38 764.89,-3110.15"/>
<polygon fill="black" stroke="black" points="765.42,-3113.61 774.97,-3109.01 764.64,-3106.66 765.42,-3113.61"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends -->
<g id="edge120" class="edge">
<title>(github.com/eatMoreApple/openwechat.Friends).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends</title>
<g id="a_edge120"><a xlink:title="at relations.go:143: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToFriends]">
<path fill="none" stroke="black" d="M580.86,-3703.1C599.94,-3699.57 621.55,-3692.01 634.52,-3676 721.97,-3567.99 598.7,-3149.66 699.52,-3054 720.34,-3034.24 878.55,-3031.11 991.23,-3031.46"/>
<polygon fill="black" stroke="black" points="991.29,-3034.96 1001.31,-3031.5 991.32,-3027.96 991.29,-3034.96"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="node182" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_node182"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).Search | defined in relations.go:328&#10;at relations.go:333: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:336: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1]&#10;at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1]&#10;at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-264" rx="31.2" ry="18"/>
<text text-anchor="middle" x="815.32" y="-260.3" font-family="Verdana" font-size="14.00">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="node183" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_node183"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).Count | defined in relations.go:226">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1106.68" cy="-386" rx="27.5" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-382.3" font-family="Verdana" font-size="14.00">Count</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="edge68" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_edge68"><a xlink:title="at relations.go:333: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:336: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<path fill="none" stroke="black" d="M841.95,-274.06C863.97,-283.04 896.31,-297.05 923.12,-312 953.59,-328.99 956.31,-341.7 988.12,-356 1014.23,-367.74 1045.74,-375.47 1069.57,-380.14"/>
<polygon fill="black" stroke="black" points="1069.12,-383.61 1079.6,-382.01 1070.41,-376.73 1069.12,-383.61"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 -->
<g id="node184" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1</title>
<g id="a_node184"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 | defined in relations.go:319">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-264" rx="90.41" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-260.3" font-family="Verdana" font-size="14.00">SearchByNickName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1 -->
<g id="edge107" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1</title>
<g id="a_edge107"><a xlink:title="at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByNickName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M846.74,-264C884.3,-264 950.08,-264 1005.94,-264"/>
<polygon fill="black" stroke="black" points="1006.24,-267.5 1016.24,-264 1006.24,-260.5 1006.24,-267.5"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 -->
<g id="node185" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1</title>
<g id="a_node185"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 | defined in relations.go:324">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-325" rx="103.31" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-321.3" font-family="Verdana" font-size="14.00">SearchByRemarkName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1 -->
<g id="edge262" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1</title>
<g id="a_edge262"><a xlink:title="at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M845.12,-270.07C887.91,-279.09 969.73,-296.34 1030.31,-309.11"/>
<polygon fill="black" stroke="black" points="1029.71,-312.56 1040.22,-311.2 1031.16,-305.71 1029.71,-312.56"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 -->
<g id="node186" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1</title>
<g id="a_node186"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 | defined in relations.go:314">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1106.68" cy="-203" rx="91.11" ry="18"/>
<text text-anchor="middle" x="1106.68" y="-199.3" font-family="Verdana" font-size="14.00">SearchByUserName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1 -->
<g id="edge263" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1</title>
<g id="a_edge263"><a xlink:title="at relations.go:341: calling [(github.com/eatMoreApple/openwechat.Groups).SearchByUserName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M845.34,-258.08C866.83,-253.69 896.81,-247.52 923.12,-242 959.93,-234.28 1000.88,-225.54 1034.65,-218.3"/>
<polygon fill="black" stroke="black" points="1035.39,-221.72 1044.43,-216.2 1033.92,-214.88 1035.39,-221.72"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName -->
<g id="node187" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName</title>
<g id="a_node187"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName | defined in relations.go:323&#10;at relations.go:324: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-325" rx="93.51" ry="18"/>
<text text-anchor="middle" x="541.01" y="-321.3" font-family="Verdana" font-size="14.00">SearchByRemarkName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="edge251" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_edge251"><a xlink:title="at relations.go:324: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<path fill="none" stroke="black" d="M602.78,-311.39C655.72,-299.53 730.85,-282.7 775.87,-272.61"/>
<polygon fill="black" stroke="black" points="776.82,-275.99 785.81,-270.39 775.29,-269.16 776.82,-275.99"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByNickName -->
<g id="node188" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByNickName</title>
<g id="a_node188"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByNickName | defined in relations.go:318&#10;at relations.go:319: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-264" rx="80.11" ry="18"/>
<text text-anchor="middle" x="541.01" y="-260.3" font-family="Verdana" font-size="14.00">SearchByNickName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="edge245" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_edge245"><a xlink:title="at relations.go:319: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<path fill="none" stroke="black" d="M621.51,-264C671.37,-264 733.57,-264 773.61,-264"/>
<polygon fill="black" stroke="black" points="773.79,-267.5 783.79,-264 773.79,-260.5 773.79,-267.5"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Last -->
<g id="node189" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).Last</title>
<g id="a_node189"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).Last | defined in relations.go:239&#10;at relations.go:240: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:241: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-342" rx="27" ry="18"/>
<text text-anchor="middle" x="815.32" y="-338.3" font-family="Verdana" font-size="14.00">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="edge57" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_edge57"><a xlink:title="at relations.go:240: calling [(github.com/eatMoreApple/openwechat.Groups).Count]&#10;at relations.go:241: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<path fill="none" stroke="black" d="M841.74,-345.87C893.26,-353.7 1010.11,-371.47 1069.53,-380.5"/>
<polygon fill="black" stroke="black" points="1069.17,-383.99 1079.58,-382.03 1070.22,-377.07 1069.17,-383.99"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByUserName -->
<g id="node190" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByUserName</title>
<g id="a_node190"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SearchByUserName | defined in relations.go:313&#10;at relations.go:314: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-203" rx="81.31" ry="18"/>
<text text-anchor="middle" x="541.01" y="-199.3" font-family="Verdana" font-size="14.00">SearchByUserName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search -->
<g id="edge215" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Search</title>
<g id="a_edge215"><a xlink:title="at relations.go:314: calling [(github.com/eatMoreApple/openwechat.Groups).Search]">
<path fill="none" stroke="black" d="M594.35,-216.7C624.92,-224.52 664.3,-234.27 699.52,-242 724.5,-247.48 752.71,-252.9 774.91,-256.99"/>
<polygon fill="black" stroke="black" points="774.51,-260.47 784.98,-258.82 775.77,-253.58 774.51,-260.47"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).First -->
<g id="node191" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).First</title>
<g id="a_node191"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).First | defined in relations.go:231&#10;at relations.go:232: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="815.32" cy="-403" rx="27" ry="18"/>
<text text-anchor="middle" x="815.32" y="-399.3" font-family="Verdana" font-size="14.00">First</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).First&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count -->
<g id="edge303" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).First&#45;&gt;(github.com/eatMoreApple/openwechat.Groups).Count</title>
<g id="a_edge303"><a xlink:title="at relations.go:232: calling [(github.com/eatMoreApple/openwechat.Groups).Count]">
<path fill="none" stroke="black" d="M842.25,-401.48C893.81,-398.45 1009.34,-391.66 1068.78,-388.17"/>
<polygon fill="black" stroke="black" points="1069.08,-391.66 1078.86,-387.58 1068.67,-384.67 1069.08,-391.66"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage -->
<g id="node192" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage</title>
<g id="a_node192"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SendImage | defined in relations.go:291&#10;at relations.go:292: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:305: calling [(*github.com/eatMoreApple/openwechat.Group).SendImage]&#10;at relations.go:302: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-508" rx="49.5" ry="18"/>
<text text-anchor="middle" x="541.01" y="-504.3" font-family="Verdana" font-size="14.00">SendImage</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge187" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge187"><a xlink:title="at relations.go:292: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="black" d="M541.98,-526.12C541.85,-697.74 544.89,-2032.83 670.52,-2149 695.93,-2172.51 735.94,-2168.53 767.32,-2159.92"/>
<polygon fill="black" stroke="black" points="768.58,-2163.2 777.17,-2157 766.58,-2156.49 768.58,-2163.2"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendImage -->
<g id="edge216" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendImage</title>
<g id="a_edge216"><a xlink:title="at relations.go:305: calling [(*github.com/eatMoreApple/openwechat.Group).SendImage]">
<path fill="none" stroke="black" d="M543.08,-526.41C551.29,-666.93 605.72,-1584.65 670.52,-2329 681.37,-2453.64 618.04,-2514.06 699.52,-2609 713.47,-2625.26 735.02,-2633.26 755.71,-2637.02"/>
<polygon fill="black" stroke="black" points="755.34,-2640.51 765.76,-2638.55 756.4,-2633.59 755.34,-2640.51"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge326" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendImage&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge326"><a xlink:title="at relations.go:302: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="black" d="M542.16,-526.12C543.92,-725.42 563.44,-2505.29 699.52,-2690 770.61,-2786.5 908.88,-2824.83 1004.19,-2840.04"/>
<polygon fill="black" stroke="black" points="1003.72,-2843.51 1014.14,-2841.57 1004.79,-2836.59 1003.72,-2843.51"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg -->
<g id="node193" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg</title>
<g id="a_node193"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SendMsg | defined in relations.go:247&#10;at relations.go:248: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:261: calling [(*github.com/eatMoreApple/openwechat.Group).SendMsg]&#10;at relations.go:258: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-386" rx="40.3" ry="18"/>
<text text-anchor="middle" x="541.01" y="-382.3" font-family="Verdana" font-size="14.00">SendMsg</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge30" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge30"><a xlink:title="at relations.go:248: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="black" d="M580.97,-388.82C600.33,-392.41 622.17,-400.22 634.52,-417 689.78,-492.1 614.97,-2020.11 670.52,-2095 686.82,-2116.98 713.67,-2128.85 739.79,-2135.21"/>
<polygon fill="black" stroke="black" points="739.22,-2138.67 749.73,-2137.38 740.71,-2131.83 739.22,-2138.67"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendMsg -->
<g id="edge118" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendMsg</title>
<g id="a_edge118"><a xlink:title="at relations.go:261: calling [(*github.com/eatMoreApple/openwechat.Group).SendMsg]">
<path fill="none" stroke="black" d="M580.99,-388.81C600.35,-392.4 622.18,-400.21 634.52,-417 695.3,-499.76 599.23,-2191.09 670.52,-2265 695.73,-2291.15 738.64,-2290.19 771.04,-2284.48"/>
<polygon fill="black" stroke="black" points="772.02,-2287.85 781.15,-2282.48 770.67,-2280.98 772.02,-2287.85"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge142" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendMsg&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge142"><a xlink:title="at relations.go:258: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="black" d="M580.79,-388.96C600.1,-392.58 621.95,-400.39 634.52,-417 725.33,-537.02 651.72,-1627.29 699.52,-1770 755.55,-1937.3 863.61,-1931.91 923.12,-2098 950.29,-2173.83 935.9,-2758.67 988.12,-2820 993.77,-2826.63 1000.65,-2831.9 1008.23,-2836.07"/>
<polygon fill="black" stroke="black" points="1006.88,-2839.31 1017.41,-2840.49 1009.92,-2833 1006.88,-2839.31"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText -->
<g id="node194" class="node">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText</title>
<g id="a_node194"><a xlink:title="(github.com/eatMoreApple/openwechat.Groups).SendText | defined in relations.go:269&#10;at relations.go:270: calling [github.com/eatMoreApple/openwechat.getTotalDuration]&#10;at relations.go:283: calling [(*github.com/eatMoreApple/openwechat.Group).SendText]&#10;at relations.go:280: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="541.01" cy="-447" rx="40.3" ry="18"/>
<text text-anchor="middle" x="541.01" y="-443.3" font-family="Verdana" font-size="14.00">SendText</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration -->
<g id="edge223" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;github.com/eatMoreApple/openwechat.getTotalDuration</title>
<g id="a_edge223"><a xlink:title="at relations.go:270: calling [github.com/eatMoreApple/openwechat.getTotalDuration]">
<path fill="none" stroke="black" d="M580.97,-449.82C600.33,-453.41 622.16,-461.22 634.52,-478 688.68,-551.57 609.78,-2053.76 670.52,-2122 688.79,-2142.54 717.6,-2149.2 744.64,-2150.09"/>
<polygon fill="black" stroke="black" points="744.87,-2153.59 754.9,-2150.17 744.92,-2146.6 744.87,-2153.59"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendText -->
<g id="edge235" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Group).SendText</title>
<g id="a_edge235"><a xlink:title="at relations.go:283: calling [(*github.com/eatMoreApple/openwechat.Group).SendText]">
<path fill="none" stroke="black" d="M580.98,-449.81C600.34,-453.4 622.18,-461.21 634.52,-478 664.03,-518.16 665.39,-2222.42 670.52,-2272 677.68,-2341.28 652.01,-2375.07 699.52,-2426 716.22,-2443.91 742.18,-2451.66 765.19,-2454.81"/>
<polygon fill="black" stroke="black" points="764.84,-2458.3 775.17,-2455.93 765.62,-2451.34 764.84,-2458.3"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups -->
<g id="edge247" class="edge">
<title>(github.com/eatMoreApple/openwechat.Groups).SendText&#45;&gt;(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups</title>
<g id="a_edge247"><a xlink:title="at relations.go:280: calling [(*github.com/eatMoreApple/openwechat.Self).ForwardMessageToGroups]">
<path fill="none" stroke="black" d="M580.99,-449.81C600.35,-453.4 622.18,-461.21 634.52,-478 664.96,-519.45 667.84,-2277.64 670.52,-2329 674.48,-2405.17 645.35,-2617.3 699.52,-2671 734.91,-2706.08 881.84,-2660.09 923.12,-2688 977.3,-2724.63 937.34,-2778.8 988.12,-2820 995.91,-2826.32 1004.87,-2831.33 1014.3,-2835.29"/>
<polygon fill="black" stroke="black" points="1013.26,-2838.64 1023.85,-2838.91 1015.75,-2832.09 1013.26,-2838.64"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search -->
<g id="node197" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_node197"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Search | defined in user.go:460&#10;at user.go:473: calling [(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1]&#10;at user.go:465: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:473: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1]&#10;at user.go:473: calling [(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-2070" rx="31.2" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-2066.3" font-family="Verdana" font-size="14.00">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge182" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge182"><a xlink:title="at user.go:465: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="black" d="M1675.75,-2076.09C1696.86,-2081.16 1725.86,-2089.44 1749.64,-2101 1777.48,-2114.53 1778.42,-2128.31 1806.64,-2141 1835.56,-2154 1870.84,-2161.77 1896.76,-2166.13"/>
<polygon fill="black" stroke="black" points="1896.47,-2169.63 1906.9,-2167.75 1897.57,-2162.72 1896.47,-2169.63"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 -->
<g id="node199" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1</title>
<g id="a_node199"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 | defined in user.go:451">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1934" cy="-1988" rx="90.41" ry="18"/>
<text text-anchor="middle" x="1934" y="-1984.3" font-family="Verdana" font-size="14.00">SearchByNickName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1 -->
<g id="edge328" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1</title>
<g id="a_edge328"><a xlink:title="at user.go:473: calling [(github.com/eatMoreApple/openwechat.Members).SearchByNickName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1673.34,-2060.96C1704.87,-2050.3 1759.3,-2032.35 1806.64,-2019 1825.26,-2013.75 1845.55,-2008.55 1864.32,-2003.94"/>
<polygon fill="black" stroke="black" points="1865.39,-2007.29 1874.28,-2001.52 1863.73,-2000.48 1865.39,-2007.29"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 -->
<g id="node200" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1</title>
<g id="a_node200"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 | defined in user.go:456">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1934" cy="-2049" rx="103.31" ry="18"/>
<text text-anchor="middle" x="1934" y="-2045.3" font-family="Verdana" font-size="14.00">SearchByRemarkName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1 -->
<g id="edge126" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1</title>
<g id="a_edge126"><a xlink:title="at user.go:473: calling [(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1677.28,-2067.77C1713.08,-2065.14 1774.52,-2060.63 1828.21,-2056.69"/>
<polygon fill="black" stroke="black" points="1828.77,-2060.16 1838.48,-2055.94 1828.26,-2053.18 1828.77,-2060.16"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 -->
<g id="node201" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1</title>
<g id="a_node201"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 | defined in user.go:446">
<ellipse fill="moccasin" stroke="black" stroke-dasharray="1,5" cx="1934" cy="-2110" rx="91.11" ry="18"/>
<text text-anchor="middle" x="1934" y="-2106.3" font-family="Verdana" font-size="14.00">SearchByUserName$1</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1 -->
<g id="edge226" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1</title>
<g id="a_edge226"><a xlink:title="at user.go:473: calling [(github.com/eatMoreApple/openwechat.Members).SearchByUserName$1]">
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1676.48,-2074.13C1716.82,-2079.77 1790.8,-2090.12 1848.98,-2098.25"/>
<polygon fill="black" stroke="black" points="1848.52,-2101.72 1858.91,-2099.64 1849.49,-2094.79 1848.52,-2101.72"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search -->
<g id="edge36" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByUserName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_edge36"><a xlink:title="at user.go:446: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<path fill="none" stroke="black" d="M1440.24,-2022.01C1490.26,-2033.74 1562.5,-2050.67 1606.44,-2060.97"/>
<polygon fill="black" stroke="black" points="1605.9,-2064.44 1616.44,-2063.32 1607.5,-2057.63 1605.9,-2064.44"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).First&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge255" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).First&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge255"><a xlink:title="at user.go:420: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="black" d="M1672.83,-2190.1C1723.84,-2186.35 1837.48,-2178.01 1896.24,-2173.7"/>
<polygon fill="black" stroke="black" points="1896.83,-2177.16 1906.55,-2172.94 1896.32,-2170.18 1896.83,-2177.16"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsFriend -->
<g id="edge307" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Friends&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsFriend</title>
<g id="a_edge307"><a xlink:title="at user.go:489: calling [(*github.com/eatMoreApple/openwechat.User).IsFriend]">
<path fill="none" stroke="black" d="M1416.69,-1949.39C1437.23,-1948.41 1462.7,-1943.33 1477.24,-1926 1567.5,-1818.38 1507.47,-1435.3 1514.24,-1295 1516.79,-1242.08 1518.34,-384.3 1550.24,-342 1561.84,-326.62 1581.27,-318.75 1599.52,-314.77"/>
<polygon fill="black" stroke="black" points="1600.28,-318.19 1609.49,-312.94 1599.02,-311.31 1600.28,-318.19"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup -->
<g id="edge56" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Groups&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsGroup</title>
<g id="a_edge56"><a xlink:title="at user.go:500: calling [(*github.com/eatMoreApple/openwechat.User).IsGroup]">
<path fill="none" stroke="black" d="M1416.18,-2128.81C1436.5,-2125.7 1461.91,-2118.32 1477.24,-2101 1481.22,-2096.49 1802.71,-404.55 1806.64,-400 1827.07,-376.41 1860.85,-365.46 1888.35,-360.38"/>
<polygon fill="black" stroke="black" points="1889.24,-363.78 1898.54,-358.71 1888.1,-356.87 1889.24,-363.78"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).MPs&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsMP -->
<g id="edge84" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).MPs&#45;&gt;(*github.com/eatMoreApple/openwechat.User).IsMP</title>
<g id="a_edge84"><a xlink:title="at user.go:511: calling [(*github.com/eatMoreApple/openwechat.User).IsMP]">
<path fill="none" stroke="black" d="M1411,-2068.97C1432.31,-2066.62 1461.34,-2059.71 1477.24,-2040 1531.09,-1973.23 1628,-614.59 1642.97,-400.34"/>
<polygon fill="black" stroke="black" points="1646.48,-400.43 1643.68,-390.21 1639.49,-399.94 1646.48,-400.43"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact -->
<g id="edge70" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact</title>
<g id="a_edge70"><a xlink:title="at user.go:544: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]&#10;at user.go:556: calling [(*github.com/eatMoreApple/openwechat.Caller).WebWxBatchGetContact]">
<path fill="none" stroke="black" d="M1673.08,-2252.1C1697.12,-2252.85 1731.68,-2258.22 1749.64,-2281 1780.73,-2320.41 1773.89,-3133.95 1777.64,-3184 1785.78,-3292.46 1734.25,-3345.82 1806.64,-3427 1814.11,-3435.37 1823.45,-3441.63 1833.65,-3446.27"/>
<polygon fill="black" stroke="black" points="1832.65,-3449.63 1843.23,-3450.09 1835.24,-3443.13 1832.65,-3449.63"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner -->
<g id="edge113" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).SetOwner</title>
<g id="a_edge113"><a xlink:title="at user.go:563: calling [(github.com/eatMoreApple/openwechat.Members).SetOwner]">
<path fill="none" stroke="black" d="M1673.08,-2253C1720.02,-2253 1819.39,-2253 1880.75,-2253"/>
<polygon fill="black" stroke="black" points="1881.01,-2256.5 1891.01,-2253 1881.01,-2249.5 1881.01,-2256.5"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge4" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).detail&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge4"><a xlink:title="at user.go:524: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="black" d="M1671.33,-2246.01C1722.19,-2231.43 1839.69,-2197.75 1898.36,-2180.93"/>
<polygon fill="black" stroke="black" points="1899.62,-2184.21 1908.26,-2178.09 1897.69,-2177.48 1899.62,-2184.21"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Last -->
<g id="node208" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).Last</title>
<g id="a_node208"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).Last | defined in user.go:428&#10;at user.go:429: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:430: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1645.94" cy="-2131" rx="27" ry="18"/>
<text text-anchor="middle" x="1645.94" y="-2127.3" font-family="Verdana" font-size="14.00">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count -->
<g id="edge198" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Count</title>
<g id="a_edge198"><a xlink:title="at user.go:429: calling [(github.com/eatMoreApple/openwechat.Members).Count]&#10;at user.go:430: calling [(github.com/eatMoreApple/openwechat.Members).Count]">
<path fill="none" stroke="black" d="M1672.58,-2134.58C1723.68,-2141.73 1838.34,-2157.76 1896.97,-2165.96"/>
<polygon fill="black" stroke="black" points="1896.51,-2169.43 1906.9,-2167.35 1897.48,-2162.5 1896.51,-2169.43"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByNickName -->
<g id="node209" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByNickName</title>
<g id="a_node209"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByNickName | defined in user.go:450&#10;at user.go:451: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2253" rx="80.11" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2249.3" font-family="Verdana" font-size="14.00">SearchByNickName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search -->
<g id="edge31" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByNickName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_edge31"><a xlink:title="at user.go:451: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<path fill="none" stroke="black" d="M1443.7,-2240.87C1455.61,-2236.57 1467.47,-2230.78 1477.24,-2223 1526.66,-2183.63 1500.87,-2140.43 1550.24,-2101 1565.98,-2088.43 1586.99,-2080.88 1605.22,-2076.39"/>
<polygon fill="black" stroke="black" points="1606.02,-2079.79 1615.02,-2074.19 1604.49,-2072.96 1606.02,-2079.79"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByRemarkName -->
<g id="node210" class="node">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName</title>
<g id="a_node210"><a xlink:title="(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName | defined in user.go:455&#10;at user.go:456: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="1383.73" cy="-2192" rx="93.51" ry="18"/>
<text text-anchor="middle" x="1383.73" y="-2188.3" font-family="Verdana" font-size="14.00">SearchByRemarkName</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Members).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search -->
<g id="edge77" class="edge">
<title>(github.com/eatMoreApple/openwechat.Members).SearchByRemarkName&#45;&gt;(github.com/eatMoreApple/openwechat.Members).Search</title>
<g id="a_edge77"><a xlink:title="at user.go:456: calling [(github.com/eatMoreApple/openwechat.Members).Search]">
<path fill="none" stroke="black" d="M1440.96,-2177.57C1453.29,-2173.37 1466.01,-2168.21 1477.24,-2162 1514.24,-2141.55 1513.26,-2121.5 1550.24,-2101 1567.69,-2091.32 1588.65,-2084.07 1606.4,-2079.03"/>
<polygon fill="black" stroke="black" points="1607.7,-2082.3 1616.44,-2076.31 1605.87,-2075.55 1607.7,-2082.3"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Search -->
<g id="node211" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).Search</title>
<g id="a_node211"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).Search | defined in relations.go:384&#10;at relations.go:389: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:392: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="70.5" cy="-2137" rx="31.2" ry="18"/>
<text text-anchor="middle" x="70.5" y="-2133.3" font-family="Verdana" font-size="14.00">Search</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="node212" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_node212"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).Count | defined in relations.go:363">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="281.56" cy="-2076" rx="27.5" ry="18"/>
<text text-anchor="middle" x="281.56" y="-2072.3" font-family="Verdana" font-size="14.00">Count</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="edge176" class="edge">
<title>(github.com/eatMoreApple/openwechat.Mps).Search&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_edge176"><a xlink:title="at relations.go:389: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:392: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<path fill="none" stroke="black" d="M98.83,-2129.03C136.68,-2117.98 205.06,-2098.03 246.28,-2086"/>
<polygon fill="black" stroke="black" points="247.52,-2089.28 256.14,-2083.12 245.56,-2082.56 247.52,-2089.28"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).First -->
<g id="node213" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).First</title>
<g id="a_node213"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).First | defined in relations.go:368&#10;at relations.go:369: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="70.5" cy="-2076" rx="27" ry="18"/>
<text text-anchor="middle" x="70.5" y="-2072.3" font-family="Verdana" font-size="14.00">First</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).First&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="edge246" class="edge">
<title>(github.com/eatMoreApple/openwechat.Mps).First&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_edge246"><a xlink:title="at relations.go:369: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<path fill="none" stroke="black" d="M97.56,-2076C134.39,-2076 201.85,-2076 243.77,-2076"/>
<polygon fill="black" stroke="black" points="243.84,-2079.5 253.84,-2076 243.84,-2072.5 243.84,-2079.5"/>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Last -->
<g id="node214" class="node">
<title>(github.com/eatMoreApple/openwechat.Mps).Last</title>
<g id="a_node214"><a xlink:title="(github.com/eatMoreApple/openwechat.Mps).Last | defined in relations.go:376&#10;at relations.go:377: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:378: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<ellipse fill="moccasin" stroke="black" stroke-width="1.5" cx="70.5" cy="-2015" rx="27" ry="18"/>
<text text-anchor="middle" x="70.5" y="-2011.3" font-family="Verdana" font-size="14.00">Last</text>
</a>
</g>
</g>
<!-- (github.com/eatMoreApple/openwechat.Mps).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count -->
<g id="edge168" class="edge">
<title>(github.com/eatMoreApple/openwechat.Mps).Last&#45;&gt;(github.com/eatMoreApple/openwechat.Mps).Count</title>
<g id="a_edge168"><a xlink:title="at relations.go:377: calling [(github.com/eatMoreApple/openwechat.Mps).Count]&#10;at relations.go:378: calling [(github.com/eatMoreApple/openwechat.Mps).Count]">
<path fill="none" stroke="black" d="M94.65,-2023.37C118.13,-2031.7 155.64,-2044.59 188.6,-2054 207.03,-2059.26 227.78,-2064.3 244.9,-2068.23"/>
<polygon fill="black" stroke="black" points="244.51,-2071.73 255.03,-2070.52 246.05,-2064.9 244.51,-2071.73"/>
</a>
</g>
</g>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment