⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)

【文(wén)章(zhāng)】OV7670图(tú)像采集

發(fà)布(bù)时(shí)間(jiān):2021-06-18   作者(zhě):admin 浏覽量(liàng):

題(tí)目

实現(xiàn)攝像头(tóu)OV7670的(de)配置及(jí)完成(chéng)图(tú)像的(de)采集。請读(dú)者(zhě)考慮实現(xiàn)該功能(néng)需要(yào)哪些模块(kuài)?進(jìn)行模块(kuài)劃(huà)分(fēn)并給(gěi)出(chū)端口(kǒu)定(dìng)義,不(bù)需要(yào)写出(chū)代(dài)碼。

模块(kuài)劃(huà)分(fēn)

根(gēn)據(jù)需配置外(wài)設交互架構,模块(kuài)劃(huà)分(fēn)如(rú)图(tú)6-16所(suǒ)示

fpga培訓

图(tú)6-16 初步模块(kuài)劃(huà)分(fēn)


進(jìn)一(yī)步分(fēn)析配置模块(kuài)及(jí)接口(kǒu)模块(kuài)。

1. 配置模块(kuài)

OV7670的(de)datasheet可(kě)知,完成(chéng)某些必要(yào)寄存器的(de)配置,OV7670才能(néng)正(zhèng)常工作,而(ér)配置不(bù)同(tóng)的(de)寄存器,又能(néng)够实現(xiàn)不(bù)同(tóng)的(de)功能(néng)。配置模块(kuài)根(gēn)據(jù)配置要(yào)求産生(shēng)读(dú)写命令、數據(jù)與(yǔ)地(dì)址給(gěi)接口(kǒu)模块(kuài)。配置表(biǎo)里(lǐ)包(bāo)含操作碼,所(suǒ)有(yǒu)寄存器的(de)地(dì)址以(yǐ)及(jí)寄存器的(de)配置值。

下(xià)面(miàn)詳细(xì)介紹配置表(biǎo),以(yǐ)下(xià)是(shì)OV7670的(de)部(bù)分(fēn)配置表(biǎo):

 1 parameter      REG_NUM =       164; 
 2
 3 always@(*) begin
 4 case(reg_cnt)
 5         0   : add_wdata = {2'b11,16'h1204};
 6         1   : add_wdata = {2'b11,16'h40d0};
 7         2   : add_wdata = {2'b11,16'h3a04};
 8         3   : add_wdata = {2'b11,16'h3dc8};
 9         4   : add_wdata = {2'b11,16'h1e31}; 
10          5   : add_wdata = {2'b11,16'h6b00};
11         ……
12         163  : add_wdata = {2'b11,16'h0903};
13         164  : add_wdata = {2'b11,16'h3b42};
14         default : add_wdata = 0;
15     endcase
16 end
17

(1)REG_NUM表(biǎo)示此(cǐ)外(wài)設寄存器總(zǒng)數。

2配置表(biǎo)存放(fàng)的(de)格式为(wèi):操作碼”+“地(dì)址”+“配置值,比如(rú):add_wdata = {2'b11,16'h1204},其操作碼是(shì)2’b11,地(dì)址是(shì)8’h12,配置值是(shì)8’h04

3操作碼为(wèi)2比特(tè),00表(biǎo)示空操作;01表(biǎo)示只(zhī)读(dú);10表(biǎo)示只(zhī)写;11表(biǎo)示先(xiān)写後(hòu)读(dú)。

4配置模块(kuài)读(dú)取(qǔ)配置表(biǎo),根(gēn)據(jù)操作碼来(lái)發(fà)送命令給(gěi)接口(kǒu)模块(kuài)。如(rú)果(guǒ)操作碼为(wèi)00,則跳过(guò)此(cǐ)命令;如(rú)果(guǒ)操作碼为(wèi)01,則産生(shēng)一(yī)个(gè)读(dú)命令給(gěi)接口(kǒu)模块(kuài),读(dú)地(dì)址是(shì)配置表(biǎo)給(gěi)出(chū)的(de)地(dì)址;如(rú)果(guǒ)操作碼为(wèi)10,則産生(shēng)一(yī)个(gè)写命令給(gěi)接口(kǒu)模块(kuài),写地(dì)址和(hé)写數據(jù)由(yóu)配置表(biǎo)給(gěi)出(chū);如(rú)果(guǒ)操作碼为(wèi)11,則先(xiān)給(gěi)写命令,写地(dì)址和(hé)写數據(jù)由(yóu)配置表(biǎo)給(gěi)出(chū),執行完後(hòu),再給(gěi)读(dú)命令,读(dú)地(dì)址與(yǔ)本(běn)次(cì)操作的(de)写地(dì)址相同(tóng)。


采用(yòng)需配置外(wài)設交互架構,在(zài)配置具有(yǒu)多(duō)功能(néng)的(de)外(wài)設的(de)寄存器时(shí),能(néng)够很方(fāng)便地(dì)進(jìn)行調試,僅需通(tòng)过(guò)修改配置表(biǎo)就(jiù)可(kě)以(yǐ)实現(xiàn),所(suǒ)以(yǐ)明(míng)德揚強(qiáng)烈推薦此(cǐ)類(lèi)外(wài)設使用(yòng)該構架。調試过(guò)程一(yī)般是(shì)确認读(dú)操作,看(kàn)能(néng)否读(dú)1个(gè)寄存器數據(jù),從而(ér)确保读(dú)操作沒(méi)問(wèn)題(tí);然後(hòu)写1个(gè)寄存器再读(dú)出(chū)来(lái),确認读(dú)出(chū)来(lái)的(de)數據(jù)是(shì)不(bù)是(shì)写進(jìn)去(qù)的(de)數據(jù),從而(ér)确保读(dú)写操作沒(méi)問(wèn)題(tí);之後(hòu)連(lián)續依次(cì)读(dú)写一(yī)組寄存器,确保每次(cì)读(dú)写都正(zhèng)确;最(zuì)後(hòu)把读(dú)功能(néng)取(qǔ)消,只(zhī)保留写功能(néng),作为(wèi)最(zuì)後(hòu)的(de)代(dài)碼。


2. 接口(kǒu)模块(kuài)

接口(kǒu)模块(kuài)需要(yào)完成(chéng)两(liǎng)个(gè)功能(néng):一(yī)是(shì)完成(chéng)OV7670的(de)配置,即根(gēn)據(jù)配置模块(kuài)的(de)读(dú)写命令及(jí)數據(jù)産生(shēng)SCCB操作时(shí)序(查閱OV7670的(de)datasheetOV7670的(de)配置接口(kǒu)是(shì)SCCB);二(èr)是(shì)完成(chéng)OV7670的(de)图(tú)像采集。所(suǒ)以(yǐ)模块(kuài)劃(huà)分(fēn)原則一(yī),一(yī)个(gè)功能(néng)一(yī)个(gè)模块(kuài),接口(kǒu)模块(kuài)可(kě)以(yǐ)劃(huà)分(fēn)为(wèi)SCCB接口(kǒu)模块(kuài)與(yǔ)采集模块(kuài)。

綜上(shàng),模块(kuài)劃(huà)分(fēn)結果(guǒ)如(rú)图(tú)6-18

fpga設計(jì)

图(tú)6-18 模块(kuài)劃(huà)分(fēn)框图(tú)


模块(kuài)的(de)端口(kǒu)及(jí)模块(kuài)之間(jiān)數據(jù)流向(xiàng)

模块(kuài)劃(huà)分(fēn)好(hǎo)後(hòu),需要(yào)進(jìn)一(yī)步确認模块(kuài)的(de)端口(kǒu)及(jí)模块(kuài)之間(jiān)的(de)數據(jù)流向(xiàng)。可(kě)參考5.1.2 模块(kuài)劃(huà)分(fēn)端口(kǒu)規範。模块(kuài)劃(huà)分(fēn)最(zuì)終(zhōng)結果(guǒ)如(rú)图(tú)6-19所(suǒ)示:

至(zhì)簡設計(jì)法

图(tú)6-19 模块(kuài)劃(huà)分(fēn)最(zuì)終(zhōng)框图(tú)



技術(shù)交流QQ群(qún):544453837

更(gèng)多(duō)FPGA技術(shù)資訊:明(míng)德揚科教

了(le)解(jiě)>>至(zhì)簡設計(jì)法


上(shàng)一(yī)篇(piān):【案(àn)例】SPI接口(kǒu)設計(jì)
下(xià)一(yī)篇(piān):【案(àn)例】VGA接口(kǒu)設計(jì)
   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨