久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

《WebAssembly 权威指南》(6)在浏览器中运行遗留代码

發(fā)布時間:2024/3/24 HTML 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《WebAssembly 权威指南》(6)在浏览器中运行遗留代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


譯者注:這篇文章是《WebAssembly 權(quán)威指南》一書的第六章,介紹了如何使用 WebAssembly 在瀏覽器中運行遺留代碼,即已經(jīng)存在的 C/C++ 代碼庫。文章以一個實際的例子,即使用 Emscripten 工具將 C++ 代碼編譯為 WebAssembly 模塊,并在瀏覽器中使用 JavaScript 調(diào)用它。文章詳細說明了 Emscripten 的工作原理、編譯選項、運行時環(huán)境和調(diào)試方法。

現(xiàn)在,我們再仔細地看看在瀏覽器中調(diào)用 C/C++ 代碼的過程。大多數(shù)編程語言的代碼都不是為了在瀏覽器中以下載的形式運行。但是,正如香港騎士(譯者注:The Hong Kong Cavaliers,電影《天生愛神》中的主角 Buckaroo Banzai 的樂隊名稱)的隊長那樣,偶爾你會發(fā)現(xiàn)自己出現(xiàn)在某個意想不到的新地方,而那里只有你。

我們對在瀏覽器中調(diào)用 C/C++ 代碼感興趣的原因是多方面的。但取代 JavaScript 并不是其中之一。至少對大多數(shù)人來說不是。相反,我們有大量的用 C 和 C++ 等語言編寫的遺留代碼。其中有很多是非常有用的,如果能在我們的網(wǎng)絡(luò)應(yīng)用程序中使用這些代碼,那就太好了。其中一些可能是將組織與遺留系統(tǒng)聯(lián)系在一起的。能夠通過瀏覽器分發(fā)這些代碼將是一個很大的進步。

此外,有些問題根本不適合用 JavaScript 來寫。可以用另一種語言來編寫應(yīng)用程序的這一部分,而不需要一個單獨的運行時,這是非常吸引人的。而且,正如我們的最后一個用例所表明的那樣,對于敏感和棘手的軟件(如加密算法)來說,有來自可信來源的可信代碼提供證明才是有價值的。能夠簡單地重新編譯來自你所認識的人的現(xiàn)有代碼,他們知道自己在做什么,這也是一種有用的能力。

在上一章中,我們展示了使用常規(guī)的支持 WebAssembly 的 C 編譯器(如 clang)和一些頭和庫的依賴性管理來實現(xiàn)基本的集成是可能的。然而,必須提供我們自己的標準庫版本,并手動將 C 代碼連接到所提供的 JavaScript 上,這樣做很快就會過時。

幸運的是,Emscript 項目?[1]?奠定了基礎(chǔ),它比其他方式更容易。這并不奇怪,因為它的主要開發(fā)者 Alon Zakai 和 Luke Wagner 一直是這項工作的幕后推手,從 asm.js 開始,延伸到 WebAssembly MVP,再到推動規(guī)范的發(fā)展 ,一直持續(xù)到今天。Emscripten 工具鏈在這一過程中發(fā)揮了重要作用。

該項目是基于 LLVM 平臺的。在前面的章節(jié)中,我指出它最初有一個自定義的后端,用來生成 asm.js 的可優(yōu)化的 JavaScript 子集。一旦 WebAssembly 平臺被定義,一個新的后端就能生成 Wasm 二進制文件。

不幸的是,這只是解決方案的一部分。還需要支持數(shù)據(jù)進出內(nèi)存,鏈接模塊,包裝現(xiàn)有的庫,等等。一個提供用戶界面或監(jiān)聽網(wǎng)絡(luò)請求的 C 語言程序經(jīng)常在一個相當緊密的循環(huán)中響應(yīng)輸入活動。鑒于瀏覽器默認為單線程環(huán)境,這種主循環(huán)會出現(xiàn)操作上的不匹配。Emscripten 工具鏈已被修改,以解決在試圖將本地 C/C++ 移植到 Web 環(huán)境中運行時可能出現(xiàn)的許多類型的問題。與大多數(shù)主題一樣,本書不可能全面介紹這個項目的所有內(nèi)容,但我將嘗試讓你快速入門。

適當?shù)?"Hello, World!"

所以,首先要承認:我們本可以在第二章中就在瀏覽器中擁有一個有效的、未經(jīng)修改的 "Hello, World!" 的例子,早在 2000 年就有了。最后一次,我們將向你展示例 6-1 中的代碼。

例 6-1. 典型的 "Hello, World!" 程序用 C 語言表達

#include?<stdio.h> int?main?()?{printf?("Hello,?World!\n");return?0; }

使用 Emscripten C 語言編譯器(安裝說明見附件?[2]),我們只需要告訴它編譯 C 代碼并生成一些 JavaScript 腳手架。之后,它就會在 Node.js 中未經(jīng)修改地運行。

brian@tweezer?~/g/w/s/ch06>?emcc?hello.c?-o?hello.js? brian@tweezer?~/g/w/s/ch06>?ls?-laF total?520 drwxr-xr-x?7?brian?staff?224?Mar?1?14:45?./ drwxr-xr-x?7?brian?staff?224?Mar?1?13:02?../ -rw-r--r--?1?brian?staff?121457?Mar?1?13:05?bootstrap.min.css? -rw-r--r--?1?brian?staff?76?Mar?1?13:02?hello.c? -rw-r--r--?1?brian?staff?388?Mar?1?13:07?hello.html? -rw-r--r--?1?brian?staff?121686?Mar?1?14:45?hello.js -rwxr-xr-x?1?brian?staff?11711?Mar?1?14:45?hello.wasm*? brian@tweezer?~/g/w/s/ch06>?node?hello.js Hello,?World!

例 6-2 中的 HTML 文件并不是由這個過程生成的,它與我們之前看到的文件有明顯的不同。有一個單一的?<script>?元素來加載我們生成的 JavaScript。我們沒有使用到目前為止使用過的 utils.js 文件。相反,我們有一個由前面的命令產(chǎn)生的更長的 JavaScript 文件。看看這個文件的清單!它超過了 120KB。它超過了 120 千字節(jié)!超過 2000 行代碼。如果你瀏覽下這個文件,你很快就會迷失。這就是我不想在前面的章節(jié)中從這里開始的原因。

例 6-2. 一個與我們所見過的 HTML 文件大不相同的文件

<!DOCTYPE?html> <html?lang="en"><head>?<meta?charset="utf-8"?/>?<link?rel="stylesheet"?href="bootstrap.min.css"?/>?<title>Hello,?World!</title>?</head>?<body>?<div?class="container">?<h1>Hello,?World!</h1>?</div>?<script?src="hello.js"></script>??</body> </html>

然而,如果我們通過 HTTP 提供這個目錄,打開瀏覽器,并打開 JavaScript 控制臺,你會看到非常類似圖 6-1 的東西。

圖 6-1. 你看到的 Hello, World!

如果你對?hello.wasm?文件使用 wasm-objdump 命令,你會注意到有一個導出的?main ()?函數(shù)。生成的代碼很快就超出了我們顯示整個文件的能力,所以我將只強調(diào)導出部分。

...Export?[13]:-?memory?[0]?->?"memory"-?func?[3]?<__wasm_call_ctors>?->?"__wasm_call_ctors"-?func?[5]?<main>?->?"main"-?func?[6]?<__errno_location>?->?"__errno_location"-?func?[50]?<fflush>?->?"fflush"-?func?[47]?<stackSave>?->?"stackSave"-?func?[48]?<stackRestore>?->?"stackRestore"-?func?[49]?<stackAlloc>?->?"stackAlloc"-?func?[44]?<emscripten_stack_init>?->?"emscripten_stack_init"-?func?[45]?<emscripten_stack_get_free>?->?"emscripten_stack_get_free"-?func?[46]?<emscripten_stack_get_end>?->?"emscripten_stack_get_end"-?table?[0]?->?"__indirect_function_table"-?func?[53]?<dynCall_jiji>?->?"dynCall_jiji" ...

你看,為了能讓這個 “Hello, world!” 運行生成了相當多的腳手架。這些細節(jié)相當復雜,但如果你想通過它來追蹤,我建議用 wasm2wat 生成相應(yīng)的 Wat 文件。從那里,追蹤?main ()?函數(shù)(在前面的代碼樣本中編號為 5)。你將會看到如例 6-3 所示內(nèi)容。

例 6-3. Wat 的 main 方法

... (func?(;5;)?(type?5)?(param?i32?i32)?(result?i32)?(local?i32) call?4 local.set?2 local.get?2 return)? ...

最終,你會發(fā)現(xiàn)自己回到了生成的 JavaScript 文件。在那里有一個叫做?fd_write?的函數(shù),如例 6-4 所示。它被添加到一個名為?wasi_snapshot_preview1?的命名空間。顧名思義,這是一個我們將在后面的討論中涉及的預(yù)覽,但主要的一點是,Emscripten 工具鏈正在生成代碼,以解決我們在前面章節(jié)中看到的一些底層麻煩。我們將在第 10 章中發(fā)現(xiàn)與 Rust 生態(tài)系統(tǒng)類似的工具鏈。

例 6-4. printf 解決方案的一部分

... function?_fd_write?(fd,?iov,?iovcnt,?pnum)?{//hack?to?support?printf?in?SYSCALLS_REQUIRE_FILESYSTEM=0varnum?=?0;for?(vari?=?0;?i?<?iovcnt;?i++)?{var?ptr?=?HEAP32?[(((iov)?+?(i?*?8))?>>?2)];var?len?=?HEAP32?[(((iov)?+?(i?*?8?+?4))?>>?2)];for?(varj?=?0;?j?<?len;?j++)?{SYSCALLS.printChar?(fd,?HEAPU8?[ptr?+?j]);}num?+=?len;}HEAP32?[((pnum)?>>?2)]?=?numreturn?0; } ...

當然,我們沒有必要深入了解這一切到底是如何進行的。重要的是你要明白,我們實際上不是在典型的標準庫意義上調(diào)用?printf (),而是這個函數(shù)被改寫成了調(diào)用生成的代碼。在瀏覽器中,它將把字符路由到與開發(fā)者工具相關(guān)的 JavaScript 控制臺。在 Node.js 環(huán)境中,它將被路由到底層系統(tǒng)控制臺。在這個階段,重要的是,我們的傳統(tǒng)應(yīng)用程序不必修改就可以在這個新環(huán)境中運行,但我們也沒有被直接運行本地 C 和 C++ 的可怕前景所困擾。我們在可移植性、安全性和性能之間取得了重要的平衡,這正是 WebAssembly 的意義所在。

生成的代碼在 JavaScript 中有一個 Module 對象,它定義了我們的 WebAssembly 代碼將占用的運行環(huán)境。在 JavaScript 文件的頂部有一些注釋,描述了這個對象和它作為兩個世界之間的接口的作用。然而,為了保持事情的可控性,我們將專注于其中更小的部分。

我們可以選擇的方法之一是使用編譯器指令來打開或壓制某些生成行為。例如,我們可能不希望我們的 C 程序在加載 JavaScript 代碼時立即運行。如果你嘗試在沒有?INVOKE_RUN=0?指令的情況下進行編譯,你會看到典型的問候語,就像你在前面的例子中一樣。在下面的片段中,注意到在 Node.js 中加載代碼時,沒有任何東西被打印到命令行。

brian@tweezer?~/g/w/s/ch06>?emcc?hello.c?-o?hello.js?-s?INVOKE_RUN=0? brian@tweezer?~/g/w/s/ch06>?node?hello.js brian@tweezer?~/g/w/s/ch06>

很明顯,如果你抑制了自動執(zhí)行,你將希望能夠指示應(yīng)用程序何時可執(zhí)行。這可以通過另一個指令來實現(xiàn):

brian@tweezer?~/g/w/s/ch06>?emcc?hello.c?-o?hello.js?? -s?INVOKE_RUN=0?-s?EXPORTED_RUNTIME_METHODS="['callMain']"

在例 6-5 中,你可以看到我們調(diào)用?main ()?函數(shù)來響應(yīng)一個按鈕的點擊。

例 6-5. 一個延遲的?main ()?方法調(diào)用

<!DOCTYPE?html> <html?lang="en"><head>?<meta?charset="utf-8"?/>?<link?rel="stylesheet"?href="bootstrap.min.css"?/>?<title>Hello,?World!</title>?</head>?<body>?<div?class="container">?<h1>Hello,?World!</h1>?<button?id="press">Press?Me</button>?</div>?<script?src="hello.js"></script>?<script> var?button?=?document.getElementById?("press");?button.onclick?=?function?()?{try?{?Module.callMain?(); }?catch?(re)?{};};</script>??</body> </html>

在圖 6-2 中,可以看到當按鈕被按下時,友好的信息被打印到控制臺。Firefox 沒有顯示每條相同的信息,但它顯示我已經(jīng)在右邊按了七次按鈕。你的瀏覽器可能會在每次調(diào)用時顯示一條打印信息。

圖 6-2. 按下按鈕所觸發(fā)的 Hello, World!

移植第三方代碼

我們現(xiàn)在要深入研究將一些現(xiàn)有的代碼引入瀏覽器。這段代碼從未打算在 web 上運行,它所做的事情通常不會在瀏覽器中運行,例如向文件系統(tǒng)寫入。不要擔心,我們不會破壞瀏覽器的安全模型,但你會看到這段 C++ 代碼基本上可以不加修改地運行。

Emscripten 有大量的選項用于將第三方代碼移植到 WebAssembly 中。它可以有效地替代 cc、make 和 configure,這通常使移植過程變得簡單。在現(xiàn)實中,你很可能要通過自己的方式來解決遇到的問題,但你可能會驚訝于這個過程是如此的簡單。該項目的網(wǎng)站?[3]?有很多幫助文檔。然而,我最喜歡的主題介紹是 Robert Aboukhalil 的?Level Up With WebAssembly 材料?[4]。他告訴你如何將幾個不同的開源項目移植到 WebAssembly,以便在瀏覽器上運行。這包括像俄羅斯方塊、乒乓和吃豆人等游戲。與其嘗試重新創(chuàng)造他已經(jīng)完成的杰作,我將專注于一個相對簡單和干凈的項目。

我花了一些時間來尋找好的候選代碼。我想找一些內(nèi)容豐富但又不至于過于復雜的代碼。最終,我在?Arash Partow 的網(wǎng)站?[5]?上找到了他收集的優(yōu)雅、干凈、適當授權(quán)和有用的 C++ 代碼。在那里你會發(fā)現(xiàn)相當多有趣的材料。我原本打算使用計算幾何庫,但 Bitmap 庫更適合于這本書。

首先,從?Partow 的網(wǎng)站?[6]?下載代碼。下載 ZIP 文件, 解壓縮,你會看到三個文件。Makefile 是一個老式的 Unix 構(gòu)建文件,它有組裝有關(guān)軟件的指示。我們稍后將探討這個過程。bitmap_image.hpp?文件是主庫,bitmap_test.cpp?是一個全面的測試集合,用于生成一堆有趣的 Windows 位圖圖像。這段代碼不需要任何特定平臺的庫。

brian@tweezer?~/g/w/s/c/bitmap>?ls?-alF? total?536 -rw-r--r--@?1?brian??staff???770B?Dec?31??1999?Makefile -rw-r--r--@?1?brian??staff???242K?Dec?31??1999?bitmap_image.hpp -rw-r--r--@?1?brian??staff????20K?Dec?31??1999?bitmap_test.cpp

我把一些注釋和許可證的細節(jié)從例 6-6 中刪除了,為了節(jié)省空間。剩下的是構(gòu)建測試程序的規(guī)則結(jié)構(gòu),即?bitmap_test。Makefile 的工作方式是建立一個目標,然后是建立目標的依賴關(guān)系和規(guī)則。作為一種慣例,通常有一個 All 規(guī)則,指定前面提到的目標文件名。它依賴于?.cpp?和?.hpp?文件。如果這兩個文件中的任何一個被修改了,我們的可執(zhí)行文件就需要被重新構(gòu)建。要做到這一點,make 工具將用 OPTIONS 變量中的選項執(zhí)行 COMPILER 變量中的文件。作為一個 C/C++ 程序,它還需要與 LINKER_OPT 變量中指定的庫鏈接。在這種情況下,我們要與標準的 C++ 庫和基本的數(shù)學函數(shù)集合進行鏈接。在庫方面,這是最獨立的了。clean 目標只是刪除了衍生的結(jié)果。

Makefile 通常對空格和制表符比較敏感。確保使用制表符來開始縮進的規(guī)則行。本書倉庫中的代碼就是這樣做的,但如果你以任何方式修改它,你要確保使用制表符。

例 6-6. 測試程序的 Makefile

COMPILER OPTIONS LINKER_OPT =?-c++ =?-ansi?-pedantic-errors?-Wall?-Wall?-Werror?-Wextra?-o =?-L/usr/lib?-lstdc++?-lm all:?bitmap_test bitmap_test:?bitmap_test.cpp?bitmap_image.hpp$(COMPILER)?$(OPTIONS)?bitmap_test?bitmap_test.cpp?$(LINKER_OPT) clean:?rm?-f?core?*.o?*.bak?*stackdump?*~

只要你安裝了一個正常的 C++ 環(huán)境,你就應(yīng)該能夠構(gòu)建測試程序。

brian@tweezer?~/g/w/s/c/bitmap>?make c++?-ansi?-pedantic-errors?-Wall?-Wall?-Werror?-Wextra?-o?bitmap_test?? bitmap_test.cpp?-L/usr/lib?-lstdc++?-lm?brian@tweezer?~/g/w/s/c/bitmap>?ls?-alF? total?944 drwxr-xr-x@??6?brian??staff?????192?Mar??6?14:35?./ drwxr-xr-x@?11?brian??staff?????352?Mar??6?13:56?../ -rw-r--r--@??1?brian??staff?????770?Dec?31??1999?Makefile -rw-r--r--@??1?brian??staff??247721?Dec?31??1999?bitmap_image.hpp -rwxr-xr-x???1?brian??staff??205032?Mar??6?14:35?bitmap_test* -rw-r--r--@??1?brian??staff???20479?Dec?31??1999?bitmap_test.cpp

現(xiàn)在這個測試程序要求在當前目錄下有一個?image.bmp?文件的例子。我只是在網(wǎng)上找了一個,然后用這個名字。運行該程序后,你將得到一大堆生成的圖像,如圖 6-3 所示。

圖 6-3. 由 bitmap_test 可執(zhí)行文件生成的圖像

好的,所以它可以工作。它是干凈的代碼。我不打算教你 C++,也不打算帶你看代碼,但我會給你看一些工作實例,你可以在完全不理解發(fā)生了什么的情況下進行嘗試。

首先要做的是。我們需要修改 Makefile 以使用 Emscripten 編譯器,而不是你用來構(gòu)建測試程序的東西。這就像更新 COMPILER 變量一樣簡單,如例 6-7 所示。

例 6-7. 為我們的測試程序更新 Makefile,以便用 Emscripten 編譯。

... COMPILER??????=?-em++ ...

Makefile 的 clean 步驟并沒有刪除可執(zhí)行文件。所以手動刪除?bitmap_test(或者更好的是修改 Makefile!),現(xiàn)在重新運行 make。你應(yīng)該看到類似下面的東西。

brian@tweezer?~/g/w/c/bitmap>?make em++?-ansi?-pedantic-errors?-Wall?-Wall?-Werror?-Wextra?-o?bitmap_test???bitmap_test.cpp?-L/usr/lib?-lstdc++?-lm brian@tweezer?~/g/w/c/bitmap>?ls?-alF total?1848 drwxr-xr-x@?8?brian?staff????256????Mar??6?15:21?./ drwxr-xr-x?12?brian?staff????384????Mar??6?14:47?.../ -rw-r-r--@??1?brian?staff????771????Mar??6?15:20?Makefile -rw-r-r--@??1?brian?staff?247721????Dec?31?1999?bitmap_image.hpp -rw-r--r--?1?brian?staff?248314????Mar??6?15:21?bitmap_test -rw-r-r--@??1?brian?staff??20479????Dec??31?1999?bitmap_test.cpp -rwxr-xr-x?1?brian?staff?296743????Mar??6?15:21?bitmap_test.wasm*. -rw-r-r--@??1?brian?staff?120054????Mar??6?14:39?image.bmp

呃,這很容易。不幸的是,我們還沒有完全完成。雖然這確實是在編譯,但由于各種原因,它是無法工作的。其中第一個原因是,該庫希望能夠?qū)懭胛募到y(tǒng)。這一點應(yīng)該不足為奇,因為這是不可能的。然而,有一個非常酷的文件系統(tǒng)抽象,它可以通過添加編譯器指令來寫入本地存儲。現(xiàn)在,就像處理?printf () ?的調(diào)用一樣,Emscripten 工具鏈將模擬一個文件系統(tǒng)。通過在你的 Makefile 中添加指令?-s FORCE_FILESYSTEM=1?來解鎖這一支持。我將在下面向你展示最終的形式。

第二個問題是,默認生成的 Memory 實例將不允許增長。如果我們期望這個庫能在內(nèi)存中生成一些相當大的圖像,那么它就需要足夠的內(nèi)存。所以,我們可以使用另一個指令來允許它這樣做。這是我在第 4 章中向你展示的如何手動操作的東西。這是 Emscripten 可以為我們處理的細節(jié)。為了對這個過程有更多的控制,我們將告訴 Emscripten 不要自動退出程序,并導出?main ()?方法,這樣我們就可以在需要時調(diào)用它。因為我們不是生成一個獨立的二進制文件,我們還要告訴 Emscripten 編譯器生成一個叫做?bitmap_test.js?的 JavaScript 文件。bitmap_test?規(guī)則的命令現(xiàn)在應(yīng)該如例 6-8 所示。

例 6-8. 修改后的 Makefile 帶有我們所有的 Emscripten 選項

bitmap_test:?bitmap_test.cpp?bitmap_image.hpp $(COMPILER)?$(OPTIONS)?bitmap_test.js?bitmap_test.cpp?$(LINKER_OPT)?-s?FORCE_FILESYSTEM=1?-s?ALLOW_MEMORY_GROWTH=1??-s?INVOKE_RUN=0?-s?EXPORTED_RUNTIME_METHODS="['callMain']"

這就解決了妨礙該例子工作的具體問題。然而,還有一個問題。這個程序運行了 20 個相對耗時的測試。由于 JavaScript 是一個單線程的環(huán)境,當 WebAssembly 模塊運行時,瀏覽器很可能會抓狂,因為花了太長時間。

我們最終會解決這個問題,但目前,我只是要刪除對其余測試的調(diào)用,只調(diào)用我最喜歡的?test20 ()。

main ()?方法現(xiàn)在如例 6-9 所示。

例 6-9. 調(diào)用一個測試的 main 方法

int?main?()?{test20?();return?0;? }

如果你重新運行 make 命令,你應(yīng)該看到生成的 Wasm 和 JavaScript 文件。我將生成一些基本的 HTML 腳手架供我們使用。在例 6-10 中,你可以看到我有一個按鈕和一個?<canvas>?元素,我們將用它來渲染位圖。現(xiàn)在,把這個文件和你的 Wasm 和 JavaScript 文件保存在同一個目錄中,并像我們在書中所做的那樣,通過 HTTP 提供給它。

例 6-10. 為我們的位圖生成器提供 HTML 腳手架

<!DOCTYPE?html> <html?lang="en"><head>?<meta?charset="utf-8"?/>?<title>C++-rendered?Image?in?the?Browser</title>?</head>?<body>?<div?class="container">?<h1>C++-rendered?Image?in?the?Browser</h1>?</div>?<button?id="load">Load</button>?<canvas?id="output"></canvas>?<script?src="bitmap_test.js"></script>?<script> var?button?=?document.getElementById?("load");?button.onclick?=?function?()?{Module.callMain?();console.log?("Done?rendering.");};</script>??</body> </html>

一旦你把 HTML 加載到你的瀏覽器,打開開發(fā)者控制臺并按下按鈕。這將生成各種文件,并將它們寫到 "磁盤" 上。這將需要一點時間,我料想你的瀏覽器會抱怨這一點。只要告訴它在它要求的時候等待就可以了。一旦完成,你應(yīng)該看到信息被打印到控制臺。此時,在控制臺中,你可以做一些可能讓你吃驚的事情,如圖 6-4 所示。

圖 6-4. 在瀏覽器中向文件系統(tǒng)寫文件

我們的第三方代碼使用標準 C++ 庫來向 "文件系統(tǒng)" 寫入。Emscripten 在瀏覽器的本地存儲上提供了一個抽象層,使之成為可能。從 C++ 中,我們可以很容易地把它讀回來。在 JavaScript 中,這并不難,如例 6-11。

例 6-11. 使用文件系統(tǒng)抽象從 "磁盤" 中讀取 "文件" 的 JavaScript

<-?undefined>>?image <-?Uint8Array?(2880054)?[66,?77,?54,?242,?43,?0,?0,?0,?0,?0,?...]

我們剛剛通過調(diào)用?FS.readFile ()?函數(shù)得到了一個 Uint8Array。這將使我們很容易處理來自文件的字節(jié)。只有一個問題。瀏覽器不支持顯示 Windows 位圖文件!幸運的是,這是一種有記錄的格式,有人為我們做了件好事,提供了相應(yīng)的代碼。我們可以依靠一些現(xiàn)有的 C 或 C++ 代碼,但只是為了向你展示一些選擇,我們將使用 JavaScript 代碼?[7]

幸運的是,在第 4 章你已經(jīng)具備了理解例 6-12 中的大部分內(nèi)容的能力。我們把從?FS.readFile ()?函數(shù)中返回的 ArrayBuffer 傳遞給一個叫做?getMBP ()?的方法。這將在緩沖區(qū)周圍創(chuàng)建一個 DataView,并在把它們?nèi)M一個更容易理解的 JavaScript 表示法之前拉出各種圖像細節(jié)。

一旦讀入位圖文件,我們通過同一網(wǎng)站的?convertToImageData ()?函數(shù)將 JavaScript 結(jié)構(gòu)轉(zhuǎn)換成 ImageData 實例。之后 ,我們設(shè)置?<canvas>?的大小以匹配其高度和寬度,并使用其?putImageData ()?方法來渲染像素。

例 6-12. 用 JavaScript 讀回我們的位圖文件,并在?<canvas>?中渲染它

<script>//?Code?taken?from?https://tinyurl.com/bitmap-in-javascript?//?Written?by?Ian?Elliottfunction?getBMP?(buffer)?{var?datav?=?new?DataView?(buffer);var?bitmap?=?{};bitmap.fileheader?=?{};bitmap.fileheader.bfType?=?datav.getUint16?(0,?true);bitmap.fileheader.bfSize?=?datav.getUint32?(2,?true);bitmap.fileheader.bfReserved1?=?datav.getUint16?(6,?true);bitmap.fileheader.bfReserved2?=?datav.getUint16?(8,?true);bitmap.fileheader.bfOffBits?=?datav.getUint32?(10,?true);bitmap.infoheader?=?{};bitmap.infoheader.biSize?=?datav.getUint32?(14,?true);bitmap.infoheader.biWidth?=?datav.getUint32?(18,?true);bitmap.infoheader.biHeight?=?datav.getUint32?(22,?true);bitmap.infoheader.biPlanes?=?datav.getUint16?(26,?true);bitmap.infoheader.biBitCount?=?datav.getUint16?(28,?true);bitmap.infoheader.biCompression?=?datav.getUint32?(30,?true);bitmap.infoheader.biSizeImage?=?datav.getUint32?(34,?true);bitmap.infoheader.biXPelsPerMeter?=?datav.getUint32?(38,?true);bitmap.infoheader.biYPelsPerMeter?=?datav.getUint32?(42,?true);bitmap.infoheader.biClrUsed?=?datav.getUint32?(46,?true);bitmap.infoheader.biClrImportant?=?datav.getUint32?(50,?true);var?start?=?bitmap.fileheader.bfOffBits;bitmap.stride?=?Math.floor?((bitmap.infoheader.biBitCount??*bitmap.infoheader.biWidth?+?31)?/?32)?*?4;bitmap.pixels?=?new?Uint8Array?(buffer,?start);return?bitmap;}//?Code?taken?from?https://tinyurl.com/bitmap-in-javascript?//?Written?by?Ian?Elliottfunction?convertToImageData?(bitmap)?{var?canvas?=?document.createElement?("canvas");var?ctx?=?canvas.getContext?("2d");var?width?=?bitmap.infoheader.biWidth;var?height?=?bitmap.infoheader.biHeight;var?imageData?=?ctx.createImageData?(width,?height);var?data?=?imageData.data;var?bmpdata?=?bitmap.pixels;var?stride?=?bitmap.stride;for?(var?y?=?0;?y?<?height;?++y)?{for?(var?x?=?0;?x?<?width;?++x)?{var?index1?=?(x+width*(height-y))*4;var?index2?=?x?*?3?+?stride?*?y;data?[index1]?=?bmpdata?[index2?+?2];data?[index1?+?1]?=?bmpdata?[index2?+?1];data?[index1?+?2]?=?bmpdata?[index2];data?[index1?+?3]?=?255;}}return?imageData;}var?button?=?document.getElementById?("load");button.onclick?=?function?()?{Module.callMain?();var?canvas?=?document.getElementById?("output");var?context?=?canvas.getContext?('2d');var?image?=?FS.readFile?("./test20_julia_set_vga.bmp");var?bmp?=?getBMP?(image.buffer);var?imageData?=?convertToImageData?(bmp);canvas.width?=?bmp.infoheader.biWidth;canvas.height?=?bmp.infoheader.biHeight;context.putImageData?(imageData,?0,?0);console.log?(image);};</script></body> </html>

調(diào)用我們的 C++ 應(yīng)用程序,并在通過 JavaScript 讀回結(jié)果后在畫布上渲染,其結(jié)果如圖 6-5 所示。

圖 6-5. 在畫布中渲染位圖文件的結(jié)果

我希望你至少有一點印象。要在瀏覽器中運行這段 C++ 代碼,我們只需要做很少的事情,這一點非常酷!在性能和線程方面仍有一些問題,但你已經(jīng)從兩個數(shù)字相加的過程一路走來,走了很長一段路。

我們可以執(zhí)行命令中添加一個參數(shù),以選擇要運行的測試。目前,我們不擔心在樣本圖像中讀取的測試。

為了接受命令行上的參數(shù),我們需要將?main ()?方法修改為如例 6-13 所示。

例 6-13. 修改了?main ()?方法,以接受測試選擇的參數(shù)

int?main?(int?argc,?char?**argv) {int?which?=?20;if?(argc>?1)?{std::string::size_type?sz;which?=?std::stoi?(argv?[1],?&sz);}switch?(which)?{case?0:case?1:case?2:case?3:case?4:case?5:case?6:case?7:case?8:case?10:case?11:case?12:case?13:case?16:printf?("Sorry,?%?s?requires?reading?in?a?file?which?we?are?not?supporting?yet.\n",?argv?[1]);break;case?9:test09?();break;case?14:test14?();break;case?15:test15?();break;case?17:test17?();break;case?18:test18?();break;case?19:test19?();break;case?20:test20?();break;default:printf?("Sorry,?%?s?is?an?unknown?test?number.\n",?argv?[1]);}return?0; }

我們首先注意到的是,main ()?的簽名已經(jīng)被修改為接受一個整數(shù)作為命令行參數(shù),實際上是一個字符串數(shù)組。請記住,在 C/C++ 中,這是作為一個指針指向一堆指針,這就是為什么有兩個星號的原因。我們可以像對數(shù)組那樣對它們進行索引。

默認情況下,第一個參數(shù)將是可執(zhí)行文件的名稱。由于我們從 0 開始計數(shù),第一個傳入的參數(shù)將在 1 的位置。我們設(shè)置一個默認的測試數(shù)字為 20,因為我已經(jīng)表示這是我最喜歡的測試。然而,如果你傳入一個代表數(shù)字的字符串,它將被轉(zhuǎn)換為一個整數(shù)。一旦我們確定了是否使用默認值,我們就在這個值上切換。如前所述,我們跳過需要輸入圖像的測試。還有其他幾個你可以運行的。

{{<callout note 提示>}}

如果你要在本地代碼和 WebAssembly 之間來回轉(zhuǎn)移,你可能想在這時維護兩個不同的 Makefile。你可以創(chuàng)建靈活的 Makefiles,支持兩個目標。你可以用?-f <file>?參數(shù)來指定使用哪個文件,如下面的例子所示。

{{}}

如果你愿意,可以重新編譯本地可執(zhí)行文件并嘗試新的參數(shù)處理:

brian@tweezer?~/g/w/s/c/bitmap>?make?-f?Makefile.orig c++?-ansi?-pedantic-errors?-Wall?-Wall?-Werror?-Wextra?-o?bitmap_test?? bitmap_test.cpp?-L/usr/lib?-lstdc++?-lm brian@tweezer?~/g/w/s/c/bitmap>?./bitmap_test?1 1?requires?reading?in?a?file?which?we?don't?support?yet. brian@tweezer?~/g/w/s/c/bitmap>?./bitmap_test?9 brian@tweezer?~/g/w/s/c/bitmap>?ls?-laF total?7608 drwxr-xr-x@?14?brian?staff?????448?Mar??7?22:55?./ drwxr-xr-x??12?brian?staff?????384?Mar??6?14:45?../ -rw-r--r--@??1?brian?staff?????893?Mar??7?17:43?Makefile -rw-r--r--@??1?brian?staff?????776?Mar??7?20:10?Makefile.orig -rw-r--r--@??1?brian?staff??247721?Dec?31??1999?bitmap_image.hpp -rwxr-xr-x???1?brian?staff?205264??Mar??7?22:55?bitmap_test* -rw-r--r--@??1?brian?staff???20954?Mar??7?20:16?bitmap_test.cpp -rw-r--r--???1?brian?staff??249546?Mar??7?20:16?bitmap_test.js? -rw-r--r--@??1?brian?staff??120054?Mar??6?14:39?image.bmp -rw-r--r--???1?brian?staff????3127?Mar??7?17:26?index.html -rw-r--r--???1?brian?staff?3000054?Mar??7?22:55?test09_color_map_image.bmp

好消息是,我們不需要對 JavaScript 代碼做太多的改動!因為簽名已經(jīng)改變了。現(xiàn)在我們可以傳入字符串,以調(diào)用?main ()?方法。與其在 HTML 中輸出只有適度差異的 JavaScript,在圖 6-6 中你可以看到從開發(fā)者控制臺輸出的帶參數(shù)的可執(zhí)行程序的調(diào)用結(jié)果。

圖 6-6. 在瀏覽器中用命令行參數(shù)調(diào)用我們的位圖生成器

除了根據(jù)命令行參數(shù)選擇測試外,你可能還想把測試當作函數(shù)來運行。然而,這需要更多工作。

首先在我們的測試文件中添加一個名為?run_test ()?的方法用來接受一個參數(shù)。在這一點上沒有必要重復實際的代碼,所以我們將只是打印出一個字符串,表明請求運行的是哪個測試。如例 6-14,你可以看到這個函數(shù)的定義。

void?run_test?(int?i)?{printf?("Running?test?%?d!\n",?i); }

默認情況下,只有?main ()?方法被導出,因為那是我們需要啟動程序的唯一函數(shù)。我們需要添加一個?EXPORTED_FUNCTIONS?指令,如下所示。函數(shù)名的定義有一個前導下劃線字符。如果你想讓?main ()?仍然可以被調(diào)用,你需要把它也包括進來,但在例 6-15 中我們沒有這樣做。

例 6-15. 修改后的 Makefile 導出更多方法

bitmap_test:?bitmap_test.cpp?bitmap_image.hpp$(COMPILER)?$(OPTIONS)?bitmap_test.js?bitmap_test.cpp?$(LINKER_OPT)?-s?FORCE_FILESYSTEM=1?-s?ALLOW_MEMORY_GROWTH=1?-s?INVOKE_RUN=0?-s?EXPORTED_FUNCTIONS="['_main',?'_run_test']" -s?EXPORTED_RUNTIME_METHODS="['callMain']"

不幸的是,這樣做是行不通的,因為我們使用的是 C++。生成的函數(shù)名會被編譯器進一步篡改,其原因不值得在此贅述。為了避免這個問題,我們需要告訴編譯器抑制這種行為并使用 C 語言連接。要使用這種行為,我們需要修改函數(shù)定義,使之看起來如例 6-16 所示。

例 6-16. 導出一個函數(shù)以便從 JavaScript 中調(diào)用,并使用 C 語言鏈接

extern?"C" void?run_test?(int?i)?{printf?("Running?test?%?d!\n",?i); }

這應(yīng)該可以解決這個問題,但我還要做一個改動,向你展示另一個選擇。

Emscripten 工具鏈中有一個便捷的方法叫 cwrap,它可以為調(diào)用一個特定的 C 函數(shù)生成一個 JavaScript 函數(shù)。我們把它添加到例 6-17 的?EXPORTED_RUNTIME_METHODS?指令中。

例 6-17. 更新了 Makefile 以使用 cwrap

bitmap_test:?bitmap_test.cpp?bitmap_image.hpp$(COMPILER)?$(OPTIONS)?bitmap_test.js?bitmap_test.cpp?$(LINKER_OPT)?-s?FORCE_FILESYSTEM=1?-s?ALLOW_MEMORY_GROWTH=1?-s?INVOKE_RUN=0?-s?EXPORTED_FUNCTIONS="['_main',?'_run_test']"?-s?EXPORTED_RUNTIME_METHODS="['callMain',?'cwrap']"

如果你重新構(gòu)建和加載 HTML,你將能夠從 JavaScript 開發(fā)者控制臺調(diào)用這個函數(shù)。其結(jié)果如圖 6-7 所示。

圖 6-7. 從 JavaScript 中直接通過 cwrap () 調(diào)用我們的函數(shù)

請注意,cwrap ()?的調(diào)用返回一個適當?shù)?JavaScript 函數(shù),我們可以像往常一樣使用。你可以把 switch 語句移到這個方法中,同樣能用來調(diào)用任意的測試。

作為練習,嘗試添加一個方法,寫出一個名為?image.bmp?的位圖文件。從你的 C++ 代碼中導出這個方法并從瀏覽器中調(diào)用它。這可以讓你在需要它的測試中讀回該文件。你可以修改 switch 語句以允許調(diào)用這些方法。

最后,想象一些其他的用戶界面元素,允許你挑選要運行的測試。一旦運行,設(shè)想在?<canvas>?元素中顯示一個文件列表。你幾乎擁有做這件事所需要的所有組件,所以請試一試吧!

libsodium

在本章結(jié)束之前,我想請你注意一個叫做 libsodium 的項目。我們不打算直接用它做任何事情,但它展示了通過 WebAssembly 將 C 和 C++ 等語言與瀏覽器混合的能力。

它基于網(wǎng)絡(luò)和加密庫(NaCl),這是一個高性能的現(xiàn)代加密庫,由深諳此道的人編寫。NaCl 的許多功能還不一定能用于 JavaScript 運行時。新的密碼套件,包括帶有附加數(shù)據(jù)的認證加密(AEAD),可能會在它們被移植到 JavaScript 或通過操作系統(tǒng)提供給瀏覽器之前發(fā)布在這里。

第二個動機是,NaCl 庫的作者知道他們在做什么。用一個糟糕的實現(xiàn)來破壞一個加密庫的功效是非常容易的。即使是比較兩個哈希值是否相同這樣微妙的事情,如果實施不當也會泄露細節(jié)。令人沮喪的是,這種比較的正確實現(xiàn)將與開發(fā)人員通常比較兩個哈希值的方式相悖。我的觀點是,NaCl 代碼庫是有出處的。如果一個沒有背景了解這些細節(jié)的 JavaScript 開發(fā)人員試圖實現(xiàn)這些功能,那么它很有可能存在這些漏洞。當你擁有一個可信賴的代碼庫時,能夠重新編譯并直接使用它是考慮本章主題的另一個原因。

所以,libsodium 旨在通過 WebAssembly 將 NaCl 庫導出到 JavaScript 環(huán)境中,而不需要重寫代碼或在性能上妥協(xié)。它被作為 WebAssembly 項目來維護。我認為,一旦人們對以這種方式使用 WebAssembly 有了更好的認識,我們就會看到更多的項目可以作為本地庫或 WebAssembly 模塊使用,這取決于你的配置需求。這將是代碼重用的一個好機會。我們將在第 10 章看到這種方法的另一個例子。

在那之前,還有更多關(guān)于 WebAssembly 的知識需要學習。

引用鏈接

[1]?Emscript 項目:?https://emscripten.org/
[2]?附件:?../appendix/
[3]?該項目的網(wǎng)站:?https://emscripten.org/docs/compiling/Building-Projects.html
[4]?Level Up With WebAssembly 材料:?https://www.levelupwasm.com/
[5]?Arash Partow 的網(wǎng)站:?https://www.partow.net/
[6]?Partow 的網(wǎng)站:?http://www.partow.net/programming/bitmap/index.html
[7]?使用 JavaScript 代碼:?https://www.i-programmer.info/projects/36-web/6234-reading-a-bmp-file-in-javascript.html

獲取更多云原生社區(qū)資訊,加入微信群,請加入云原生社區(qū),點擊閱讀原文了解更多。

總結(jié)

以上是生活随笔為你收集整理的《WebAssembly 权威指南》(6)在浏览器中运行遗留代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

欧美激情内射喷水高潮 | 亚洲 日韩 欧美 成人 在线观看 | 免费乱码人妻系列无码专区 | 99er热精品视频 | 中国大陆精品视频xxxx | 欧美喷潮久久久xxxxx | 欧美日韩久久久精品a片 | 熟女少妇人妻中文字幕 | 无码任你躁久久久久久久 | 色一情一乱一伦 | 无套内谢老熟女 | www一区二区www免费 | 亚洲热妇无码av在线播放 | а√天堂www在线天堂小说 | 漂亮人妻洗澡被公强 日日躁 | 又大又硬又爽免费视频 | 天天拍夜夜添久久精品大 | 欧美日韩亚洲国产精品 | 久精品国产欧美亚洲色aⅴ大片 | 午夜熟女插插xx免费视频 | 国产精品资源一区二区 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 精品国产乱码久久久久乱码 | аⅴ资源天堂资源库在线 | 九九综合va免费看 | 日韩精品a片一区二区三区妖精 | 欧美精品国产综合久久 | 亚洲一区二区三区香蕉 | 丰满妇女强制高潮18xxxx | 2020久久超碰国产精品最新 | 国产成人亚洲综合无码 | 樱花草在线播放免费中文 | 久久无码中文字幕免费影院蜜桃 | 中文字幕精品av一区二区五区 | 真人与拘做受免费视频一 | 午夜精品久久久内射近拍高清 | 国精产品一品二品国精品69xx | 精品人妻中文字幕有码在线 | 成人女人看片免费视频放人 | 亚洲乱亚洲乱妇50p | 日韩欧美成人免费观看 | 精品人人妻人人澡人人爽人人 | 久久国产劲爆∧v内射 | 人人妻人人澡人人爽欧美一区九九 | 免费观看又污又黄的网站 | 乌克兰少妇性做爰 | 欧美人与禽zoz0性伦交 | 国产偷自视频区视频 | 色一情一乱一伦一区二区三欧美 | 亚洲中文字幕无码中字 | 荫蒂被男人添的好舒服爽免费视频 | 蜜臀aⅴ国产精品久久久国产老师 | 少妇性l交大片欧洲热妇乱xxx | 人人妻人人藻人人爽欧美一区 | 性色av无码免费一区二区三区 | 中文精品久久久久人妻不卡 | 乱码午夜-极国产极内射 | 性色欲网站人妻丰满中文久久不卡 | 在线a亚洲视频播放在线观看 | 少妇性l交大片 | 国产两女互慰高潮视频在线观看 | 精品国产一区av天美传媒 | 成人亚洲精品久久久久软件 | 精品国精品国产自在久国产87 | 亚洲精品久久久久中文第一幕 | 55夜色66夜色国产精品视频 | 最新国产麻豆aⅴ精品无码 | 国产高清不卡无码视频 | 免费人成在线观看网站 | 成人精品一区二区三区中文字幕 | 欧美国产亚洲日韩在线二区 | 国产性生大片免费观看性 | 波多野结衣av一区二区全免费观看 | 欧美日韩亚洲国产精品 | 亚洲人成人无码网www国产 | 丰满人妻一区二区三区免费视频 | 曰本女人与公拘交酡免费视频 | 国产乱人无码伦av在线a | 久久99精品久久久久久 | 成人免费视频一区二区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 中文精品久久久久人妻不卡 | 欧美黑人乱大交 | 99精品无人区乱码1区2区3区 | 鲁大师影院在线观看 | 女人被男人爽到呻吟的视频 | 日日躁夜夜躁狠狠躁 | 亚洲一区二区三区偷拍女厕 | 美女黄网站人色视频免费国产 | 在线看片无码永久免费视频 | 国产女主播喷水视频在线观看 | 波多野结衣av一区二区全免费观看 | 成人欧美一区二区三区 | 伊人久久大香线焦av综合影院 | 欧美日韩亚洲国产精品 | 丰满少妇女裸体bbw | 国产莉萝无码av在线播放 | 久久久www成人免费毛片 | 综合激情五月综合激情五月激情1 | 欧美老妇交乱视频在线观看 | 亚无码乱人伦一区二区 | 97精品国产97久久久久久免费 | 精品国产成人一区二区三区 | 亚洲自偷自拍另类第1页 | 久久精品女人天堂av免费观看 | 夫妻免费无码v看片 | 波多野结衣高清一区二区三区 | 5858s亚洲色大成网站www | 麻豆精产国品 | 色偷偷人人澡人人爽人人模 | 国产精品毛片一区二区 | 国産精品久久久久久久 | av无码不卡在线观看免费 | 色窝窝无码一区二区三区色欲 | 免费无码肉片在线观看 | 东京热无码av男人的天堂 | 少妇被粗大的猛进出69影院 | 少妇无码一区二区二三区 | 黑人巨大精品欧美一区二区 | 女高中生第一次破苞av | 99视频精品全部免费免费观看 | 亚洲国精产品一二二线 | 亚洲熟妇色xxxxx亚洲 | 欧美激情内射喷水高潮 | 欧美三级不卡在线观看 | 亚洲欧美国产精品久久 | 欧美黑人巨大xxxxx | 樱花草在线播放免费中文 | 国产午夜福利亚洲第一 | 一本一道久久综合久久 | 欧美亚洲日韩国产人成在线播放 | 久久国产自偷自偷免费一区调 | 久久久久成人精品免费播放动漫 | 99麻豆久久久国产精品免费 | 国产成人无码av片在线观看不卡 | 久久亚洲日韩精品一区二区三区 | 色综合久久网 | 我要看www免费看插插视频 | 又大又黄又粗又爽的免费视频 | 精品国产一区二区三区四区在线看 | 午夜无码人妻av大片色欲 | 国产精品亚洲lv粉色 | 对白脏话肉麻粗话av | 日韩无套无码精品 | 亚洲呦女专区 | 天天av天天av天天透 | 中文字幕人妻无码一夲道 | 精品人妻中文字幕有码在线 | 亚洲高清偷拍一区二区三区 | 精品国产福利一区二区 | 少妇高潮一区二区三区99 | 日本熟妇人妻xxxxx人hd | 亚洲天堂2017无码中文 | 97se亚洲精品一区 | 欧美人与禽zoz0性伦交 | av人摸人人人澡人人超碰下载 | 亚洲成色在线综合网站 | 亚洲中文字幕无码中字 | 强辱丰满人妻hd中文字幕 | 国产农村妇女高潮大叫 | 国产精品久久久久无码av色戒 | 久久人人爽人人人人片 | 99麻豆久久久国产精品免费 | 国产亚洲精品久久久ai换 | 国产97人人超碰caoprom | 一本久久a久久精品亚洲 | 白嫩日本少妇做爰 | 窝窝午夜理论片影院 | 永久免费精品精品永久-夜色 | 水蜜桃亚洲一二三四在线 | 少妇厨房愉情理9仑片视频 | 亚洲国产精品美女久久久久 | 少妇人妻偷人精品无码视频 | 亚洲一区二区三区偷拍女厕 | 无码人妻精品一区二区三区下载 | 精品一二三区久久aaa片 | 精品国精品国产自在久国产87 | 亚洲熟熟妇xxxx | 5858s亚洲色大成网站www | 99久久精品无码一区二区毛片 | 亚洲日韩av一区二区三区中文 | 成人欧美一区二区三区黑人 | 国产热a欧美热a在线视频 | 国产艳妇av在线观看果冻传媒 | 国产精品va在线观看无码 | 国产亚洲精品精品国产亚洲综合 | 国精品人妻无码一区二区三区蜜柚 | 乱人伦中文视频在线观看 | 麻豆国产97在线 | 欧洲 | 人妻有码中文字幕在线 | 国产免费久久久久久无码 | 在线 国产 欧美 亚洲 天堂 | 亚洲国产精品一区二区第一页 | 国产午夜亚洲精品不卡下载 | 日本精品久久久久中文字幕 | 亚洲欧美日韩国产精品一区二区 | 亚洲精品一区国产 | 老子影院午夜精品无码 | 高潮喷水的毛片 | 亚洲国产精品毛片av不卡在线 | 国产精品va在线观看无码 | 欧美自拍另类欧美综合图片区 | 性做久久久久久久久 | 亚洲va中文字幕无码久久不卡 | 亚洲人亚洲人成电影网站色 | 亚洲精品鲁一鲁一区二区三区 | 色五月丁香五月综合五月 | 亚洲精品中文字幕乱码 | 乱码av麻豆丝袜熟女系列 | 国产无遮挡又黄又爽又色 | 精品无码成人片一区二区98 | 亚洲毛片av日韩av无码 | 乱码午夜-极国产极内射 | 无码人妻精品一区二区三区不卡 | 亚洲一区二区三区在线观看网站 | 亚洲国产精品毛片av不卡在线 | 国产性生大片免费观看性 | 秋霞成人午夜鲁丝一区二区三区 | 欧美一区二区三区视频在线观看 | 一区二区三区乱码在线 | 欧洲 | 欧美丰满熟妇xxxx性ppx人交 | 久久99国产综合精品 | 日日碰狠狠丁香久燥 | 久久熟妇人妻午夜寂寞影院 | 久久久久免费看成人影片 | 亚洲综合伊人久久大杳蕉 | 老太婆性杂交欧美肥老太 | 成人精品一区二区三区中文字幕 | 精品偷拍一区二区三区在线看 | 欧美老人巨大xxxx做受 | 欧美亚洲日韩国产人成在线播放 | 久久精品视频在线看15 | 又色又爽又黄的美女裸体网站 | 亚洲人成网站免费播放 | 亚洲成熟女人毛毛耸耸多 | 国产熟妇另类久久久久 | 精品久久综合1区2区3区激情 | 亚洲成a人一区二区三区 | 国产极品美女高潮无套在线观看 | 久久综合久久自在自线精品自 | www成人国产高清内射 | 国产乱人无码伦av在线a | 国产人妻精品一区二区三区 | 曰本女人与公拘交酡免费视频 | 无码吃奶揉捏奶头高潮视频 | 好爽又高潮了毛片免费下载 | 亚洲经典千人经典日产 | 国产无套内射久久久国产 | 亚洲国产精品毛片av不卡在线 | 熟妇人妻无乱码中文字幕 | 国产绳艺sm调教室论坛 | 伊人久久大香线蕉午夜 | 国产免费久久精品国产传媒 | 亚洲欧美综合区丁香五月小说 | 在线视频网站www色 | 色婷婷av一区二区三区之红樱桃 | 无码人妻黑人中文字幕 | 久久久精品欧美一区二区免费 | 中国女人内谢69xxxxxa片 | 久久熟妇人妻午夜寂寞影院 | 丁香花在线影院观看在线播放 | 漂亮人妻洗澡被公强 日日躁 | ass日本丰满熟妇pics | 亚洲精品成人av在线 | 九九综合va免费看 | 欧洲vodafone精品性 | 亚洲人交乣女bbw | 领导边摸边吃奶边做爽在线观看 | 亚洲日韩av一区二区三区四区 | 久久久久人妻一区精品色欧美 | 国产精品人人妻人人爽 | 成人亚洲精品久久久久软件 | 又湿又紧又大又爽a视频国产 | 日本精品久久久久中文字幕 | 国产亚洲精品久久久久久久 | 亚洲国产综合无码一区 | 成年美女黄网站色大免费视频 | 麻豆人妻少妇精品无码专区 | 国产乱子伦视频在线播放 | 天天躁夜夜躁狠狠是什么心态 | 99国产精品白浆在线观看免费 | 水蜜桃色314在线观看 | 无码国内精品人妻少妇 | 国产三级精品三级男人的天堂 | 国产97人人超碰caoprom | 帮老师解开蕾丝奶罩吸乳网站 | 黄网在线观看免费网站 | 久久国产精品二国产精品 | 牲欲强的熟妇农村老妇女 | 国产性生交xxxxx无码 | 国产精品无码成人午夜电影 | 国产成人无码av片在线观看不卡 | 爱做久久久久久 | 亚洲乱码国产乱码精品精 | 欧美日韩一区二区免费视频 | 女人被男人躁得好爽免费视频 | 波多野结衣av一区二区全免费观看 | 熟女俱乐部五十路六十路av | 乱人伦人妻中文字幕无码 | 人妻无码αv中文字幕久久琪琪布 | 亚洲精品美女久久久久久久 | 国产精品亚洲五月天高清 | 内射后入在线观看一区 | 国内精品一区二区三区不卡 | 国产另类ts人妖一区二区 | 99久久人妻精品免费二区 | 国产综合色产在线精品 | 精品熟女少妇av免费观看 | 色情久久久av熟女人妻网站 | 国产真实夫妇视频 | 国产极品美女高潮无套在线观看 | √8天堂资源地址中文在线 | 天天躁夜夜躁狠狠是什么心态 | 欧洲精品码一区二区三区免费看 | 好屌草这里只有精品 | 久久国产精品偷任你爽任你 | 风流少妇按摩来高潮 | 清纯唯美经典一区二区 | 国产情侣作爱视频免费观看 | 午夜成人1000部免费视频 | 亚洲精品一区二区三区在线观看 | 无码纯肉视频在线观看 | 亚洲国产精华液网站w | 国产亚洲美女精品久久久2020 | 十八禁视频网站在线观看 | 国产xxx69麻豆国语对白 | 精品少妇爆乳无码av无码专区 | 国产精品久久国产三级国 | 无码人妻黑人中文字幕 | 国产亚洲人成a在线v网站 | 四虎永久在线精品免费网址 | 领导边摸边吃奶边做爽在线观看 | 在线а√天堂中文官网 | 国产午夜精品一区二区三区嫩草 | 青春草在线视频免费观看 | 又紧又大又爽精品一区二区 | 无码人妻久久一区二区三区不卡 | 久久综合给久久狠狠97色 | 中文字幕人妻无码一区二区三区 | 色噜噜亚洲男人的天堂 | 亚洲人成人无码网www国产 | 国产熟女一区二区三区四区五区 | 国产亚洲精品久久久久久久 | 美女扒开屁股让男人桶 | 欧美激情一区二区三区成人 | aⅴ在线视频男人的天堂 | 久久亚洲日韩精品一区二区三区 | 丝袜足控一区二区三区 | 久久久精品456亚洲影院 | 天堂无码人妻精品一区二区三区 | 欧美精品国产综合久久 | 亚洲国产成人av在线观看 | 国内少妇偷人精品视频 | 极品尤物被啪到呻吟喷水 | 久久午夜无码鲁丝片 | 美女毛片一区二区三区四区 | 7777奇米四色成人眼影 | 无码纯肉视频在线观看 | 中文字幕 亚洲精品 第1页 | 最新国产乱人伦偷精品免费网站 | 999久久久国产精品消防器材 | 日欧一片内射va在线影院 | 亚洲国精产品一二二线 | 性欧美videos高清精品 | 精品水蜜桃久久久久久久 | 亚洲人成无码网www | 日本又色又爽又黄的a片18禁 | 成 人 网 站国产免费观看 | 精品厕所偷拍各类美女tp嘘嘘 | 在线亚洲高清揄拍自拍一品区 | 亚洲人交乣女bbw | 亚洲中文字幕va福利 | 中文字幕无码免费久久9一区9 | 成人无码精品1区2区3区免费看 | 亚洲综合精品香蕉久久网 | 日本va欧美va欧美va精品 | 天堂无码人妻精品一区二区三区 | 美女扒开屁股让男人桶 | 日韩人妻无码中文字幕视频 | 免费看少妇作爱视频 | 美女毛片一区二区三区四区 | 2020最新国产自产精品 | 久久伊人色av天堂九九小黄鸭 | 国产人妻精品一区二区三区 | 99久久久国产精品无码免费 | 伊人久久大香线蕉av一区二区 | 亚洲国产高清在线观看视频 | 亚洲一区二区三区播放 | 曰韩少妇内射免费播放 | 精品无码成人片一区二区98 | 国产乱人偷精品人妻a片 | 久久这里只有精品视频9 | 成人片黄网站色大片免费观看 | 午夜成人1000部免费视频 | 日日碰狠狠丁香久燥 | 欧美乱妇无乱码大黄a片 | 国产成人无码一二三区视频 | 一本久久a久久精品vr综合 | 国产精品久久久久久久9999 | 亚洲伊人久久精品影院 | 亚洲精品一区国产 | 日韩精品成人一区二区三区 | 久久国产精品精品国产色婷婷 | 国语自产偷拍精品视频偷 | 三级4级全黄60分钟 | 无遮挡国产高潮视频免费观看 | 成人欧美一区二区三区黑人免费 | 在线观看国产午夜福利片 | 久久亚洲中文字幕精品一区 | 久久久无码中文字幕久... | 日本又色又爽又黄的a片18禁 | 国产午夜无码视频在线观看 | 一本一道久久综合久久 | 欧美黑人性暴力猛交喷水 | 久久无码专区国产精品s | 亚洲第一无码av无码专区 | 国产精品第一区揄拍无码 | 双乳奶水饱满少妇呻吟 | 最近的中文字幕在线看视频 | 性欧美大战久久久久久久 | 蜜桃视频插满18在线观看 | 亚洲色www成人永久网址 | 成人免费视频一区二区 | 老头边吃奶边弄进去呻吟 | 少妇激情av一区二区 | 好男人社区资源 | 精品国产一区二区三区四区 | 四虎影视成人永久免费观看视频 | 中文字幕乱妇无码av在线 | 无码午夜成人1000部免费视频 | 亚洲日本va中文字幕 | 在线观看欧美一区二区三区 | 久久婷婷五月综合色国产香蕉 | 熟女少妇在线视频播放 | 久久久久成人片免费观看蜜芽 | 精品无码一区二区三区的天堂 | 无码人中文字幕 | 久久久久久av无码免费看大片 | 日本一区二区三区免费播放 | 日韩在线不卡免费视频一区 | 中文无码成人免费视频在线观看 | 亚洲日韩中文字幕在线播放 | 欧美人与禽zoz0性伦交 | 呦交小u女精品视频 | www国产亚洲精品久久久日本 | 又大又硬又黄的免费视频 | 日日麻批免费40分钟无码 | 无码人妻精品一区二区三区不卡 | 亚洲自偷精品视频自拍 | 7777奇米四色成人眼影 | 亚洲综合伊人久久大杳蕉 | 国产精品久久久久久亚洲毛片 | 亚洲国产精品成人久久蜜臀 | 丰满少妇弄高潮了www | 久久精品国产一区二区三区肥胖 | 99久久精品国产一区二区蜜芽 | 欧美国产亚洲日韩在线二区 | 丰满护士巨好爽好大乳 | 小sao货水好多真紧h无码视频 | 亚洲中文字幕无码一久久区 | 亚洲中文字幕无码中字 | 大肉大捧一进一出视频出来呀 | 纯爱无遮挡h肉动漫在线播放 | 欧美35页视频在线观看 | 夜夜高潮次次欢爽av女 | 国产综合色产在线精品 | 97se亚洲精品一区 | 大地资源网第二页免费观看 | 国内揄拍国内精品人妻 | 青青草原综合久久大伊人精品 | 亚洲成熟女人毛毛耸耸多 | 亚洲国产精品毛片av不卡在线 | 纯爱无遮挡h肉动漫在线播放 | 少妇性l交大片 | 亚洲 日韩 欧美 成人 在线观看 | 无码人妻精品一区二区三区下载 | 中国大陆精品视频xxxx | 免费视频欧美无人区码 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | ass日本丰满熟妇pics | 国产精品无码一区二区桃花视频 | 一本大道久久东京热无码av | 日本乱人伦片中文三区 | 成人无码视频在线观看网站 | 精品无码成人片一区二区98 | 少妇一晚三次一区二区三区 | 在线精品亚洲一区二区 | 精品久久久无码中文字幕 | 丰满人妻翻云覆雨呻吟视频 | 奇米影视888欧美在线观看 | 国产国语老龄妇女a片 | 国产午夜亚洲精品不卡下载 | 亚洲无人区一区二区三区 | 成人免费视频一区二区 | 欧美激情一区二区三区成人 | 欧美日韩视频无码一区二区三 | 国精产品一区二区三区 | 国内揄拍国内精品人妻 | 亚洲s码欧洲m码国产av | 国产人妻精品一区二区三区 | 国产人妻精品午夜福利免费 | 欧美freesex黑人又粗又大 | 久久精品丝袜高跟鞋 | 97夜夜澡人人爽人人喊中国片 | 东京热一精品无码av | 亚洲中文字幕乱码av波多ji | 水蜜桃色314在线观看 | 国产亚洲美女精品久久久2020 | 久久久久久av无码免费看大片 | 国产精品成人av在线观看 | 无码成人精品区在线观看 | 亚洲欧洲日本无在线码 | 永久免费观看美女裸体的网站 | 亚洲精品中文字幕乱码 | 久久综合给久久狠狠97色 | 任你躁在线精品免费 | 欧美成人免费全部网站 | 沈阳熟女露脸对白视频 | 99久久精品无码一区二区毛片 | 欧洲极品少妇 | 日韩少妇内射免费播放 | 国产又爽又黄又刺激的视频 | 97色伦图片97综合影院 | 蜜臀av无码人妻精品 | 亚洲乱码中文字幕在线 | 无码av最新清无码专区吞精 | 98国产精品综合一区二区三区 | 天天做天天爱天天爽综合网 | 无码成人精品区在线观看 | 久久视频在线观看精品 | 亚洲啪av永久无码精品放毛片 | 99精品视频在线观看免费 | 国产午夜无码精品免费看 | 国产精品va在线播放 | www一区二区www免费 | 久久99久久99精品中文字幕 | 久精品国产欧美亚洲色aⅴ大片 | 无码精品国产va在线观看dvd | 熟妇人妻激情偷爽文 | 精品国产一区二区三区av 性色 | 青草视频在线播放 | 国产亚洲精品久久久久久久久动漫 | 日本一区二区更新不卡 | 久久综合色之久久综合 | 日韩精品无码一区二区中文字幕 | 国产 浪潮av性色四虎 | 中文无码成人免费视频在线观看 | 学生妹亚洲一区二区 | 久久精品中文字幕一区 | 大肉大捧一进一出好爽视频 | 日日摸日日碰夜夜爽av | 露脸叫床粗话东北少妇 | 日本大香伊一区二区三区 | 无码吃奶揉捏奶头高潮视频 | 日韩精品乱码av一区二区 | 亚洲人成网站色7799 | 成年美女黄网站色大免费全看 | 中文毛片无遮挡高清免费 | 久久精品国产一区二区三区肥胖 | 天堂在线观看www | 欧美xxxxx精品 | 少妇愉情理伦片bd | 午夜精品一区二区三区在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 久久99精品久久久久久 | 人人妻人人澡人人爽欧美精品 | 2020久久香蕉国产线看观看 | 中文字幕乱码亚洲无线三区 | 婷婷色婷婷开心五月四房播播 | 亚洲色欲色欲欲www在线 | 免费无码午夜福利片69 | 99国产欧美久久久精品 | 双乳奶水饱满少妇呻吟 | 蜜臀av无码人妻精品 | 小泽玛莉亚一区二区视频在线 | 国产精品久久久午夜夜伦鲁鲁 | 熟妇人妻中文av无码 | 乱中年女人伦av三区 | 国产精品久久久久无码av色戒 | 高中生自慰www网站 | 国产乱码精品一品二品 | 欧美喷潮久久久xxxxx | 欧美激情综合亚洲一二区 | 日本一区二区三区免费高清 | 亚洲色成人中文字幕网站 | 国产精品无码mv在线观看 | 国产三级精品三级男人的天堂 | 久久国产精品萌白酱免费 | 久久国产劲爆∧v内射 | 亚洲精品午夜国产va久久成人 | 国产精品.xx视频.xxtv | 欧洲美熟女乱又伦 | 亚洲中文字幕成人无码 | 桃花色综合影院 | 丰满肥臀大屁股熟妇激情视频 | 亚洲无人区午夜福利码高清完整版 | 国产农村妇女高潮大叫 | 亚洲成av人在线观看网址 | 国产综合色产在线精品 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 爱做久久久久久 | 蜜桃视频插满18在线观看 | 综合人妻久久一区二区精品 | 婷婷五月综合激情中文字幕 | 日本熟妇乱子伦xxxx | 成年美女黄网站色大免费视频 | 天堂在线观看www | 国产色在线 | 国产 | 午夜无码人妻av大片色欲 | 一二三四社区在线中文视频 | 亚洲乱码日产精品bd | 日韩精品乱码av一区二区 | 欧美成人高清在线播放 | 麻豆国产丝袜白领秘书在线观看 | 欧美亚洲日韩国产人成在线播放 | 无套内谢老熟女 | 精品久久久无码中文字幕 | 亚洲欧洲日本无在线码 | 在线成人www免费观看视频 | 欧美 日韩 亚洲 在线 | 伊人久久婷婷五月综合97色 | 亚洲成av人片在线观看无码不卡 | 精品国产精品久久一区免费式 | 欧美精品免费观看二区 | 国产成人无码区免费内射一片色欲 | 国产精品无码永久免费888 | 国产性生交xxxxx无码 | 亚洲狠狠色丁香婷婷综合 | 无码免费一区二区三区 | 国产舌乚八伦偷品w中 | 国产免费观看黄av片 | 精品人妻中文字幕有码在线 | 99久久人妻精品免费一区 | 国产亚洲tv在线观看 | 三级4级全黄60分钟 | 日韩人妻无码一区二区三区久久99 | 欧美freesex黑人又粗又大 | 中文精品久久久久人妻不卡 | 中文字幕日产无线码一区 | 搡女人真爽免费视频大全 | 激情综合激情五月俺也去 | 狂野欧美性猛交免费视频 | 人妻尝试又大又粗久久 | 国产深夜福利视频在线 | 亚洲综合无码一区二区三区 | 欧美午夜特黄aaaaaa片 | 国产亚洲精品久久久ai换 | 国产农村妇女高潮大叫 | 国语精品一区二区三区 | av人摸人人人澡人人超碰下载 | 色五月丁香五月综合五月 | 亚洲色偷偷男人的天堂 | 午夜熟女插插xx免费视频 | 国产婷婷色一区二区三区在线 | 久久国产精品二国产精品 | 国产真实伦对白全集 | 香蕉久久久久久av成人 | 亚洲熟妇色xxxxx欧美老妇 | 99精品国产综合久久久久五月天 | 夜夜夜高潮夜夜爽夜夜爰爰 | 无码人中文字幕 | 亚洲午夜久久久影院 | 岛国片人妻三上悠亚 | 国产成人午夜福利在线播放 | 久热国产vs视频在线观看 | 欧美性生交活xxxxxdddd | 在线播放无码字幕亚洲 | 亚洲精品午夜无码电影网 | 曰韩无码二三区中文字幕 | 久久精品女人天堂av免费观看 | 国产成人精品一区二区在线小狼 | 亚拍精品一区二区三区探花 | 国产sm调教视频在线观看 | 兔费看少妇性l交大片免费 | 久久久中文字幕日本无吗 | 欧美色就是色 | 日韩欧美成人免费观看 | 无码人妻精品一区二区三区下载 | 亚洲无人区午夜福利码高清完整版 | 国产人妻精品一区二区三区 | 在线a亚洲视频播放在线观看 | 国产激情无码一区二区app | 我要看www免费看插插视频 | 亚洲精品成a人在线观看 | 女人被男人躁得好爽免费视频 | 日本一区二区更新不卡 | 俄罗斯老熟妇色xxxx | 捆绑白丝粉色jk震动捧喷白浆 | 成人一在线视频日韩国产 | 永久黄网站色视频免费直播 | 精品夜夜澡人妻无码av蜜桃 | 色综合天天综合狠狠爱 | 青春草在线视频免费观看 | 天天燥日日燥 | 综合网日日天干夜夜久久 | 国内精品人妻无码久久久影院蜜桃 | 欧美高清在线精品一区 | 日日麻批免费40分钟无码 | 国产精品福利视频导航 | 暴力强奷在线播放无码 | 中文字幕人妻无码一夲道 | 精品欧美一区二区三区久久久 | 十八禁真人啪啪免费网站 | 久久精品国产一区二区三区 | 奇米影视7777久久精品人人爽 | av在线亚洲欧洲日产一区二区 | av香港经典三级级 在线 | 人妻人人添人妻人人爱 | 女人被爽到呻吟gif动态图视看 | 国内综合精品午夜久久资源 | 亚洲第一网站男人都懂 | 少妇人妻av毛片在线看 | 亚洲成av人影院在线观看 | 国产午夜福利100集发布 | 99精品视频在线观看免费 | 露脸叫床粗话东北少妇 | 国产熟女一区二区三区四区五区 | 国产av一区二区三区最新精品 | 亚洲大尺度无码无码专区 | 亚洲一区二区三区含羞草 | 99久久精品国产一区二区蜜芽 | 久久国产精品二国产精品 | 国产亚洲美女精品久久久2020 | 亚洲精品一区二区三区四区五区 | 久久伊人色av天堂九九小黄鸭 | 色窝窝无码一区二区三区色欲 | 少妇人妻大乳在线视频 | 最新版天堂资源中文官网 | 日韩欧美成人免费观看 | 亚洲热妇无码av在线播放 | 青草青草久热国产精品 | 欧美丰满少妇xxxx性 | 高清无码午夜福利视频 | 又粗又大又硬又长又爽 | 一个人看的www免费视频在线观看 | 国产三级久久久精品麻豆三级 | 国产免费久久久久久无码 | 在线天堂新版最新版在线8 | 欧美人与善在线com | 成人性做爰aaa片免费看 | 国语精品一区二区三区 | 初尝人妻少妇中文字幕 | 色欲久久久天天天综合网精品 | 欧美喷潮久久久xxxxx | 久久久久成人片免费观看蜜芽 | 日本在线高清不卡免费播放 | 亚洲一区av无码专区在线观看 | 欧美日韩色另类综合 | 扒开双腿疯狂进出爽爽爽视频 | 色欲av亚洲一区无码少妇 | www国产亚洲精品久久网站 | 99久久精品日本一区二区免费 | 成人无码精品一区二区三区 | 一区二区三区乱码在线 | 欧洲 | 男女猛烈xx00免费视频试看 | 成人三级无码视频在线观看 | a在线亚洲男人的天堂 | 国产成人人人97超碰超爽8 | 中文字幕乱妇无码av在线 | 国产在线精品一区二区高清不卡 | 熟妇人妻中文av无码 | 亚洲の无码国产の无码影院 | 中文精品无码中文字幕无码专区 | 久久精品人人做人人综合 | 天堂无码人妻精品一区二区三区 | 强伦人妻一区二区三区视频18 | 午夜嘿嘿嘿影院 | 亚洲日本va午夜在线电影 | 国产电影无码午夜在线播放 | 欧美 日韩 亚洲 在线 | 久久精品女人天堂av免费观看 | 国产精品丝袜黑色高跟鞋 | 天堂а√在线中文在线 | 欧美熟妇另类久久久久久不卡 | 少妇一晚三次一区二区三区 | 国产成人综合在线女婷五月99播放 | 久久久久成人片免费观看蜜芽 | 曰本女人与公拘交酡免费视频 | 色婷婷av一区二区三区之红樱桃 | 国产成人亚洲综合无码 | 亚洲自偷自偷在线制服 | 久久国产精品精品国产色婷婷 | 国产成人一区二区三区别 | 成年美女黄网站色大免费全看 | 国产免费无码一区二区视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 少妇人妻偷人精品无码视频 | 无套内谢的新婚少妇国语播放 | 国产在线精品一区二区三区直播 | 成人毛片一区二区 | 中文字幕av无码一区二区三区电影 | 波多野结衣aⅴ在线 | 国产香蕉尹人视频在线 | 午夜免费福利小电影 | 成人无码视频免费播放 | 国产国产精品人在线视 | 性生交片免费无码看人 | 亚洲狠狠婷婷综合久久 | 国产成人久久精品流白浆 | 中文字幕av无码一区二区三区电影 | www国产亚洲精品久久久日本 | 日韩精品无码免费一区二区三区 | 精品亚洲成av人在线观看 | 久久zyz资源站无码中文动漫 | 乱人伦人妻中文字幕无码久久网 | 久久久久久亚洲精品a片成人 | 久久久精品456亚洲影院 | 免费乱码人妻系列无码专区 | 国产成人精品无码播放 | 秋霞成人午夜鲁丝一区二区三区 | 美女毛片一区二区三区四区 | 国产人妻精品一区二区三区不卡 | 亚洲熟妇色xxxxx欧美老妇 | 久久久久久国产精品无码下载 | 精品久久8x国产免费观看 | 日韩欧美群交p片內射中文 | 亚洲国产综合无码一区 | 久久精品国产99久久6动漫 | 高中生自慰www网站 | 亚洲精品综合一区二区三区在线 | 日产国产精品亚洲系列 | 欧美性猛交xxxx富婆 | 久久天天躁狠狠躁夜夜免费观看 | 1000部啪啪未满十八勿入下载 | 国产精品99爱免费视频 | 天堂久久天堂av色综合 | 人妻人人添人妻人人爱 | 国产激情无码一区二区app | 国产精品久久久久无码av色戒 | 午夜嘿嘿嘿影院 | 国产精品久久久久影院嫩草 | 婷婷丁香五月天综合东京热 | 国产精品久久久久9999小说 | 人妻互换免费中文字幕 | 午夜福利一区二区三区在线观看 | 美女扒开屁股让男人桶 | 免费观看黄网站 | 精品无人区无码乱码毛片国产 | 国产区女主播在线观看 | 国精品人妻无码一区二区三区蜜柚 | 学生妹亚洲一区二区 | 少妇邻居内射在线 | 久9re热视频这里只有精品 | 女人色极品影院 | 亚洲欧美精品aaaaaa片 | 一本无码人妻在中文字幕免费 | 欧美国产日韩亚洲中文 | 亚洲男女内射在线播放 | 亚洲综合在线一区二区三区 | 正在播放老肥熟妇露脸 | 丁香啪啪综合成人亚洲 | 日本www一道久久久免费榴莲 | 中文精品无码中文字幕无码专区 | 97久久国产亚洲精品超碰热 | 老太婆性杂交欧美肥老太 | 久久99精品久久久久久 | 久久国产自偷自偷免费一区调 | 久久综合九色综合欧美狠狠 | 国产成人精品视频ⅴa片软件竹菊 | 荫蒂添的好舒服视频囗交 | 日韩av激情在线观看 | 国产农村妇女高潮大叫 | 精品水蜜桃久久久久久久 | 亚洲成av人片在线观看无码不卡 | 国产精品va在线观看无码 | 日韩在线不卡免费视频一区 | 狠狠躁日日躁夜夜躁2020 | 国产免费观看黄av片 | 亚洲精品午夜无码电影网 | 久久亚洲中文字幕精品一区 | 中文字幕无码热在线视频 | 色情久久久av熟女人妻网站 | 熟妇女人妻丰满少妇中文字幕 | 免费人成在线视频无码 | 无码人妻出轨黑人中文字幕 | 狠狠色噜噜狠狠狠狠7777米奇 | 久久亚洲精品中文字幕无男同 | 久久精品一区二区三区四区 | 国产亚洲精品久久久闺蜜 | 亚洲爆乳大丰满无码专区 | 四虎国产精品免费久久 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲成av人片在线观看无码不卡 | 暴力强奷在线播放无码 | 欧美性生交xxxxx久久久 | 亚洲综合精品香蕉久久网 | 精品欧洲av无码一区二区三区 | 色一情一乱一伦一区二区三欧美 | 水蜜桃亚洲一二三四在线 | 欧美人妻一区二区三区 | 亚洲一区二区三区 | 中文无码伦av中文字幕 | 欧美日韩久久久精品a片 | www国产亚洲精品久久久日本 | 特黄特色大片免费播放器图片 | 国模大胆一区二区三区 | 少妇人妻偷人精品无码视频 | 我要看www免费看插插视频 | 色欲久久久天天天综合网精品 | 亚洲午夜福利在线观看 | 天天躁夜夜躁狠狠是什么心态 | 青草青草久热国产精品 | 日欧一片内射va在线影院 | 无码帝国www无码专区色综合 | 精品国产一区二区三区av 性色 | 老熟妇仑乱视频一区二区 | 美女毛片一区二区三区四区 | 水蜜桃色314在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲国产欧美日韩精品一区二区三区 | 在线欧美精品一区二区三区 | 欧美三级不卡在线观看 | 国产女主播喷水视频在线观看 | 国产av无码专区亚洲awww | 亚洲色大成网站www | 午夜时刻免费入口 | 中文字幕无码av激情不卡 | 国产真实乱对白精彩久久 | 亚洲熟妇色xxxxx亚洲 | 国产人妻精品午夜福利免费 | 一本大道伊人av久久综合 | 日韩欧美中文字幕在线三区 | 久久精品99久久香蕉国产色戒 | 一个人免费观看的www视频 | 午夜精品一区二区三区在线观看 | 日韩人妻无码中文字幕视频 | 麻豆md0077饥渴少妇 | 成人无码影片精品久久久 | 国产手机在线αⅴ片无码观看 | 国产黄在线观看免费观看不卡 | 亚洲国产精品久久久天堂 | 中文字幕精品av一区二区五区 | 亚洲国产精品无码久久久久高潮 | 精品国偷自产在线视频 | 国产午夜无码视频在线观看 | 乱人伦人妻中文字幕无码久久网 | 18黄暴禁片在线观看 | 女人和拘做爰正片视频 | 激情爆乳一区二区三区 | 未满小14洗澡无码视频网站 | 蜜桃视频插满18在线观看 | 欧美性色19p | 日韩亚洲欧美精品综合 | 亲嘴扒胸摸屁股激烈网站 | 成人精品天堂一区二区三区 | 欧美日韩一区二区三区自拍 | 18无码粉嫩小泬无套在线观看 | 国产成人午夜福利在线播放 | 全黄性性激高免费视频 | 午夜成人1000部免费视频 | a国产一区二区免费入口 | 自拍偷自拍亚洲精品10p | 鲁大师影院在线观看 | 爆乳一区二区三区无码 | 午夜精品久久久久久久 | 图片区 小说区 区 亚洲五月 | 人人澡人人妻人人爽人人蜜桃 | 成人综合网亚洲伊人 | 国产精品va在线观看无码 | 高清不卡一区二区三区 | 亚洲中文字幕无码一久久区 | 又大又紧又粉嫩18p少妇 | 久久亚洲a片com人成 | 日日摸天天摸爽爽狠狠97 | 人妻互换免费中文字幕 | 中文字幕精品av一区二区五区 | 日本成熟视频免费视频 | 国产成人精品视频ⅴa片软件竹菊 | 国产精品久久久久久亚洲毛片 | 学生妹亚洲一区二区 | 国产色在线 | 国产 | 精品国偷自产在线 | 亚洲成色www久久网站 | 内射白嫩少妇超碰 | 日本一区二区更新不卡 | 日本大香伊一区二区三区 | 内射白嫩少妇超碰 | 漂亮人妻洗澡被公强 日日躁 | 天下第一社区视频www日本 | 欧美成人午夜精品久久久 | 波多野结衣一区二区三区av免费 | 欧洲精品码一区二区三区免费看 | 综合激情五月综合激情五月激情1 | 久久亚洲日韩精品一区二区三区 | 亚洲国产av美女网站 | 蜜臀av在线播放 久久综合激激的五月天 | 麻豆国产丝袜白领秘书在线观看 | 亚洲一区av无码专区在线观看 | 人人爽人人澡人人人妻 | 亚洲精品久久久久久一区二区 | 成在人线av无码免观看麻豆 | 牛和人交xxxx欧美 | 国内老熟妇对白xxxxhd | 日日摸天天摸爽爽狠狠97 | 国产色在线 | 国产 | 乱中年女人伦av三区 | 97精品国产97久久久久久免费 | 色综合久久久久综合一本到桃花网 | 熟妇女人妻丰满少妇中文字幕 | 一本久道高清无码视频 | 蜜臀av在线播放 久久综合激激的五月天 | 日日橹狠狠爱欧美视频 | 欧美真人作爱免费视频 | 亚洲国产欧美国产综合一区 | av人摸人人人澡人人超碰下载 | 丰满人妻一区二区三区免费视频 | 婷婷丁香五月天综合东京热 | 久久99精品久久久久久动态图 | 狠狠色噜噜狠狠狠7777奇米 | 300部国产真实乱 | 亚洲日韩av一区二区三区四区 | 精品国产一区二区三区四区在线看 | 无码午夜成人1000部免费视频 | 国产精品无码一区二区桃花视频 | 亚洲国产精品一区二区美利坚 | 国产手机在线αⅴ片无码观看 | 亚洲国产一区二区三区在线观看 | 精品乱码久久久久久久 | 精品一二三区久久aaa片 | 九九综合va免费看 | 在线欧美精品一区二区三区 | 色诱久久久久综合网ywww | 日日碰狠狠丁香久燥 | 亚洲人成无码网www | 伊在人天堂亚洲香蕉精品区 | 久久99久久99精品中文字幕 | 少女韩国电视剧在线观看完整 | 少妇性l交大片欧洲热妇乱xxx | 中文字幕人成乱码熟女app | 日产国产精品亚洲系列 | 欧美自拍另类欧美综合图片区 | 亚洲呦女专区 | 大肉大捧一进一出好爽视频 | 熟妇人妻无码xxx视频 | 久久99精品国产麻豆 | 亚洲日本va午夜在线电影 | 撕开奶罩揉吮奶头视频 | 国产麻豆精品一区二区三区v视界 | 丰满少妇人妻久久久久久 | av小次郎收藏 | 亚洲啪av永久无码精品放毛片 | 精品国产aⅴ无码一区二区 | 久久综合九色综合欧美狠狠 | 日本欧美一区二区三区乱码 | 麻豆精产国品 | 国内精品人妻无码久久久影院 | 亚洲成a人片在线观看无码3d | 中文字幕无码乱人伦 | 日日碰狠狠躁久久躁蜜桃 | 国产精品-区区久久久狼 | 十八禁视频网站在线观看 | 亚洲精品中文字幕久久久久 | 国产精品免费大片 | 在线天堂新版最新版在线8 | 男女作爱免费网站 | 国产无遮挡又黄又爽免费视频 | 日韩精品一区二区av在线 | 成年美女黄网站色大免费视频 | 久久99久久99精品中文字幕 | 动漫av网站免费观看 | 国内精品九九久久久精品 | 377p欧洲日本亚洲大胆 | 国产美女极度色诱视频www | 国产办公室秘书无码精品99 | 人人妻人人藻人人爽欧美一区 | 人妻体内射精一区二区三四 | 中文字幕乱码亚洲无线三区 | 色综合久久中文娱乐网 | 亚洲精品久久久久中文第一幕 | 亚洲成av人片在线观看无码不卡 | 国产亚洲欧美在线专区 | 在线播放免费人成毛片乱码 | 老熟妇仑乱视频一区二区 | 免费观看黄网站 | 日本丰满护士爆乳xxxx | 欧美日韩在线亚洲综合国产人 | 国产一精品一av一免费 | 亚洲国产综合无码一区 | 精品无码国产自产拍在线观看蜜 | 午夜性刺激在线视频免费 | 欧美三级不卡在线观看 | 成熟妇人a片免费看网站 | а√资源新版在线天堂 | 76少妇精品导航 | 日韩精品a片一区二区三区妖精 | 免费观看又污又黄的网站 | 麻豆国产丝袜白领秘书在线观看 | 女高中生第一次破苞av | 夜夜躁日日躁狠狠久久av | 精品亚洲韩国一区二区三区 | 日韩视频 中文字幕 视频一区 | 欧美国产日韩久久mv | 狠狠色噜噜狠狠狠狠7777米奇 | 少妇性l交大片欧洲热妇乱xxx | 中文字幕人妻无码一夲道 | 伊在人天堂亚洲香蕉精品区 | 国产99久久精品一区二区 | 波多野结衣av一区二区全免费观看 | 成人无码视频在线观看网站 | 色婷婷久久一区二区三区麻豆 | 无码人妻精品一区二区三区不卡 | 日本一卡二卡不卡视频查询 | 色综合久久久无码网中文 | 狂野欧美激情性xxxx | 免费观看激色视频网站 | 亚洲精品国产精品乱码视色 | 欧美性黑人极品hd | 精品国偷自产在线 | 色欲综合久久中文字幕网 | 性做久久久久久久久 | 中文字幕无码日韩欧毛 | 亚洲精品一区二区三区在线观看 | 高清无码午夜福利视频 | 久久亚洲中文字幕精品一区 | 香蕉久久久久久av成人 | 一区二区传媒有限公司 | 香港三级日本三级妇三级 | 免费人成在线观看网站 | 国产精品久久久午夜夜伦鲁鲁 | 中文字幕日韩精品一区二区三区 | 国产成人无码专区 | 欧美zoozzooz性欧美 | 国产免费观看黄av片 | www国产亚洲精品久久久日本 | 国产人成高清在线视频99最全资源 | 乌克兰少妇性做爰 | 天海翼激烈高潮到腰振不止 | 久久zyz资源站无码中文动漫 | www一区二区www免费 | 国产va免费精品观看 | 无码播放一区二区三区 | 久久综合狠狠综合久久综合88 | 国产人妻人伦精品 | 国产午夜亚洲精品不卡下载 | 亚洲人成人无码网www国产 | 欧美丰满老熟妇xxxxx性 | 在线观看国产一区二区三区 | 在线天堂新版最新版在线8 | 国产成人无码一二三区视频 | 综合人妻久久一区二区精品 | 国产精品资源一区二区 | 日韩人妻系列无码专区 | 东京无码熟妇人妻av在线网址 | a国产一区二区免费入口 | 99久久精品无码一区二区毛片 | 成人三级无码视频在线观看 | 少妇性l交大片 | 玩弄人妻少妇500系列视频 | 亚洲一区二区三区国产精华液 | 国产精品视频免费播放 | 国产精品美女久久久 | 久久精品人人做人人综合试看 | 国产99久久精品一区二区 | 成人精品视频一区二区 | 国产乱子伦视频在线播放 | 中文字幕久久久久人妻 | 国产精品国产自线拍免费软件 | 久久精品国产99久久6动漫 | 亚洲天堂2017无码中文 | 亚洲一区二区三区播放 | 国产两女互慰高潮视频在线观看 | 欧美老妇与禽交 | 性欧美大战久久久久久久 | 一个人看的视频www在线 | 婷婷色婷婷开心五月四房播播 | 国产内射爽爽大片视频社区在线 | 成熟妇人a片免费看网站 | 东京热一精品无码av | 中文精品久久久久人妻不卡 | 熟妇人妻无码xxx视频 | 2020久久超碰国产精品最新 | 东京热无码av男人的天堂 | 黑人巨大精品欧美一区二区 | 成人三级无码视频在线观看 | 欧美freesex黑人又粗又大 | 久久视频在线观看精品 | 久久人妻内射无码一区三区 | 中文字幕 亚洲精品 第1页 | 中文字幕人妻无码一区二区三区 | 国产人妻久久精品二区三区老狼 | 波多野结衣aⅴ在线 | 真人与拘做受免费视频一 | 午夜精品一区二区三区在线观看 | 麻豆国产丝袜白领秘书在线观看 | 97精品国产97久久久久久免费 | 美女扒开屁股让男人桶 | 国产成人无码av在线影院 | 久久精品无码一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 天下第一社区视频www日本 | 人妻少妇被猛烈进入中文字幕 | 欧美日本日韩 | 人妻少妇精品无码专区动漫 | 免费看男女做好爽好硬视频 | 国产午夜视频在线观看 | 中文字幕乱码人妻无码久久 | 亚洲理论电影在线观看 | 少妇一晚三次一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 久久视频在线观看精品 | 波多野结衣av一区二区全免费观看 | 成人aaa片一区国产精品 | 国产国产精品人在线视 | 无遮无挡爽爽免费视频 | 综合网日日天干夜夜久久 | 国产av久久久久精东av | 麻豆果冻传媒2021精品传媒一区下载 | 曰本女人与公拘交酡免费视频 | 欧美精品一区二区精品久久 | 中文字幕日韩精品一区二区三区 | 人妻插b视频一区二区三区 | 成人动漫在线观看 | 无套内谢老熟女 | 精品aⅴ一区二区三区 | 久久综合激激的五月天 | 高清无码午夜福利视频 | 精品国偷自产在线视频 | 亚洲精品鲁一鲁一区二区三区 | 久久无码专区国产精品s | 久久无码专区国产精品s | 国产精品久久久久久久影院 | 色爱情人网站 | 两性色午夜免费视频 | 国产色视频一区二区三区 | 亚洲日本va午夜在线电影 | 欧美精品在线观看 | 欧美性生交xxxxx久久久 | 亚洲一区二区三区国产精华液 | 日韩精品成人一区二区三区 | 一个人免费观看的www视频 | 亚洲精品一区二区三区四区五区 | 欧美 日韩 亚洲 在线 | 亚洲乱码中文字幕在线 | 亚洲欧美精品伊人久久 | 纯爱无遮挡h肉动漫在线播放 | 亚洲娇小与黑人巨大交 | 亚洲国产欧美国产综合一区 | 国产免费久久久久久无码 | 亚洲国产一区二区三区在线观看 | 日本一区二区更新不卡 | 一本精品99久久精品77 | 久久伊人色av天堂九九小黄鸭 | 国产熟妇另类久久久久 | 欧美性猛交内射兽交老熟妇 | 色欲久久久天天天综合网精品 | 亚洲区小说区激情区图片区 | 成人动漫在线观看 | 性色av无码免费一区二区三区 | 亚洲国产av美女网站 | 国产农村乱对白刺激视频 | 无码国产色欲xxxxx视频 | 国产精品久久精品三级 | 亚洲成a人片在线观看无码 | 亚洲一区二区三区香蕉 | 亚洲精品成人av在线 | 国产精品18久久久久久麻辣 | 少妇太爽了在线观看 | 色欲人妻aaaaaaa无码 | 成人无码精品1区2区3区免费看 | 一本久道久久综合狠狠爱 | 亚洲一区二区三区四区 | 国内精品人妻无码久久久影院蜜桃 | 国产人妖乱国产精品人妖 | 成人免费视频一区二区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产午夜无码视频在线观看 | 久久久久久久人妻无码中文字幕爆 | 中文精品无码中文字幕无码专区 | 国产成人精品三级麻豆 | 一本久道久久综合狠狠爱 | 无码中文字幕色专区 | 精品少妇爆乳无码av无码专区 | av人摸人人人澡人人超碰下载 | 亚洲精品欧美二区三区中文字幕 | 亚洲综合在线一区二区三区 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品美女久久久久av爽李琼 | 日产精品99久久久久久 | 狠狠噜狠狠狠狠丁香五月 | 国产一区二区三区日韩精品 | 性史性农村dvd毛片 | 伊在人天堂亚洲香蕉精品区 | 久久aⅴ免费观看 | 日本丰满熟妇videos | 成人女人看片免费视频放人 | 天天做天天爱天天爽综合网 | 影音先锋中文字幕无码 | 亚洲va欧美va天堂v国产综合 | 无码帝国www无码专区色综合 | 成人片黄网站色大片免费观看 | 国产精品久免费的黄网站 | 亚洲精品鲁一鲁一区二区三区 | 久久熟妇人妻午夜寂寞影院 | 国产深夜福利视频在线 | 波多野结衣aⅴ在线 | 久久aⅴ免费观看 | 日本爽爽爽爽爽爽在线观看免 | 国产激情一区二区三区 | 精品久久综合1区2区3区激情 | 国产成人无码一二三区视频 | 日韩av激情在线观看 | 国产免费久久精品国产传媒 | 久久久中文字幕日本无吗 | 欧美一区二区三区 | 亚洲色大成网站www | 精品国产青草久久久久福利 | 久久久www成人免费毛片 | 日本大乳高潮视频在线观看 | 在线观看国产午夜福利片 | 国产人妻精品一区二区三区不卡 | 又大又黄又粗又爽的免费视频 | 国产成人精品久久亚洲高清不卡 | 国产网红无码精品视频 | 成人免费视频一区二区 | 亚洲成a人片在线观看无码 | 国产真人无遮挡作爱免费视频 | 国产在线aaa片一区二区99 | 久久久久se色偷偷亚洲精品av | 中文亚洲成a人片在线观看 | 国产97人人超碰caoprom | 免费中文字幕日韩欧美 | 免费播放一区二区三区 | 亚洲色www成人永久网址 | yw尤物av无码国产在线观看 | 亚洲色成人中文字幕网站 | 亚洲国产欧美在线成人 | 亲嘴扒胸摸屁股激烈网站 | 国产精品久久久久久亚洲毛片 | 九九热爱视频精品 | 久激情内射婷内射蜜桃人妖 | 国产又爽又猛又粗的视频a片 | 特级做a爰片毛片免费69 | 激情国产av做激情国产爱 | 亚洲中文字幕成人无码 | 国产成人精品优优av | 狠狠躁日日躁夜夜躁2020 | 国内老熟妇对白xxxxhd | 国产激情综合五月久久 | 成人片黄网站色大片免费观看 | 最近免费中文字幕中文高清百度 | 久久综合网欧美色妞网 | 曰韩无码二三区中文字幕 | 九一九色国产 | 亚洲va中文字幕无码久久不卡 | 国内综合精品午夜久久资源 | 色婷婷欧美在线播放内射 | 4hu四虎永久在线观看 | 风流少妇按摩来高潮 | 久久久无码中文字幕久... | www一区二区www免费 | 国产成人无码午夜视频在线观看 | 免费无码av一区二区 | 人人妻人人澡人人爽精品欧美 | 亚洲色偷偷偷综合网 | 岛国片人妻三上悠亚 | 亚洲第一无码av无码专区 | 色婷婷综合中文久久一本 | 国产亚洲精品久久久久久国模美 | 狂野欧美性猛交免费视频 | 国产又爽又猛又粗的视频a片 | 理论片87福利理论电影 | 网友自拍区视频精品 | 四虎影视成人永久免费观看视频 | 少妇性俱乐部纵欲狂欢电影 | 亚洲а∨天堂久久精品2021 | 日本饥渴人妻欲求不满 | 亚洲国产综合无码一区 | 波多野结衣一区二区三区av免费 | 国产精品久久久久影院嫩草 | 成年女人永久免费看片 | 亚洲综合另类小说色区 | 国语自产偷拍精品视频偷 | 久久天天躁狠狠躁夜夜免费观看 | 色欲av亚洲一区无码少妇 | 76少妇精品导航 | 日本一本二本三区免费 | 少妇性l交大片 | 国産精品久久久久久久 | 精品人妻人人做人人爽夜夜爽 | 亚洲欧美精品aaaaaa片 | 在线视频网站www色 | 国产色精品久久人妻 | 正在播放东北夫妻内射 | 日本高清一区免费中文视频 | 又色又爽又黄的美女裸体网站 | 妺妺窝人体色www婷婷 | 国产成人精品一区二区在线小狼 | 最新国产麻豆aⅴ精品无码 | 18禁黄网站男男禁片免费观看 | 国产精品欧美成人 | 4hu四虎永久在线观看 | 乌克兰少妇性做爰 | 亚洲一区二区三区四区 | 99精品久久毛片a片 | 少妇久久久久久人妻无码 | 亚洲码国产精品高潮在线 | 色一情一乱一伦一视频免费看 | 成人免费视频一区二区 | 丰满少妇女裸体bbw | 99国产精品白浆在线观看免费 | 在线a亚洲视频播放在线观看 | 国产激情精品一区二区三区 | 国产成人精品视频ⅴa片软件竹菊 | 少妇高潮喷潮久久久影院 | 性色欲网站人妻丰满中文久久不卡 | 伊人久久大香线蕉午夜 | 久久综合网欧美色妞网 | 少妇被粗大的猛进出69影院 | 最新国产麻豆aⅴ精品无码 | 妺妺窝人体色www在线小说 | 97夜夜澡人人爽人人喊中国片 | 97久久超碰中文字幕 | 亚拍精品一区二区三区探花 | 激情内射亚州一区二区三区爱妻 | 99re在线播放 | 强辱丰满人妻hd中文字幕 | 国产亚洲人成在线播放 | 老子影院午夜精品无码 | 在线亚洲高清揄拍自拍一品区 | 欧美喷潮久久久xxxxx | 狠狠综合久久久久综合网 | 国产sm调教视频在线观看 | 欧美人与动性行为视频 | 荫蒂被男人添的好舒服爽免费视频 | 国内少妇偷人精品视频 | 亚洲gv猛男gv无码男同 | 无码一区二区三区在线 | 国产精品美女久久久 | 夜先锋av资源网站 | 黑人巨大精品欧美一区二区 | 性欧美牲交xxxxx视频 | 欧美 日韩 人妻 高清 中文 | 久久久久免费看成人影片 | 99久久精品国产一区二区蜜芽 | 97色伦图片97综合影院 | 色综合天天综合狠狠爱 | 四虎影视成人永久免费观看视频 | 日本欧美一区二区三区乱码 | 日日碰狠狠躁久久躁蜜桃 | 午夜精品一区二区三区在线观看 | 大地资源中文第3页 | 久久人人爽人人人人片 | 久久国产精品萌白酱免费 | 我要看www免费看插插视频 | 日韩欧美中文字幕公布 | 久久久久久九九精品久 | 未满小14洗澡无码视频网站 | 精品日本一区二区三区在线观看 | 国产成人无码区免费内射一片色欲 | 欧美亚洲日韩国产人成在线播放 | 亚洲色欲色欲天天天www | 激情人妻另类人妻伦 | 日韩成人一区二区三区在线观看 | 国产亲子乱弄免费视频 | 亚洲男女内射在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产又爽又猛又粗的视频a片 | 亚洲精品久久久久avwww潮水 | 奇米影视888欧美在线观看 | 亚洲国产欧美日韩精品一区二区三区 | 成年美女黄网站色大免费视频 | 国产乱码精品一品二品 | 欧美日韩综合一区二区三区 | 在线看片无码永久免费视频 | 丰满妇女强制高潮18xxxx | 水蜜桃av无码 | 99久久精品国产一区二区蜜芽 | 午夜精品久久久内射近拍高清 | 久久久精品成人免费观看 | 久久精品中文字幕一区 | 波多野结衣乳巨码无在线观看 | av人摸人人人澡人人超碰下载 | 中文字幕av日韩精品一区二区 | 日韩无套无码精品 | 日本护士xxxxhd少妇 | 国产成人无码区免费内射一片色欲 | 午夜免费福利小电影 | 无遮挡啪啪摇乳动态图 | 国产电影无码午夜在线播放 | 久久久久成人片免费观看蜜芽 | 午夜福利一区二区三区在线观看 | 国产成人综合在线女婷五月99播放 | 在线视频网站www色 | 国精产品一品二品国精品69xx | 欧美怡红院免费全部视频 | 毛片内射-百度 | 国产乱子伦视频在线播放 | 亚洲の无码国产の无码影院 | 国产超碰人人爽人人做人人添 | 亚洲精品一区二区三区在线 | 亚洲日本va午夜在线电影 | 无码精品国产va在线观看dvd | 人人澡人人透人人爽 | 免费中文字幕日韩欧美 | 97精品国产97久久久久久免费 | 蜜桃av抽搐高潮一区二区 | 精品午夜福利在线观看 | 久久 国产 尿 小便 嘘嘘 | 动漫av一区二区在线观看 | 中文字幕av无码一区二区三区电影 | aⅴ亚洲 日韩 色 图网站 播放 | 国产精品久久精品三级 | 亚洲综合在线一区二区三区 | 国产精品国产三级国产专播 | 欧美阿v高清资源不卡在线播放 | 人妻无码αv中文字幕久久琪琪布 | 一本大道伊人av久久综合 | 夜夜躁日日躁狠狠久久av | 色五月五月丁香亚洲综合网 | 国产偷自视频区视频 | 成在人线av无码免费 | 欧美性生交活xxxxxdddd | 国产午夜福利100集发布 | 亚洲精品国产第一综合99久久 | 欧美自拍另类欧美综合图片区 | 亚洲区欧美区综合区自拍区 | 少妇久久久久久人妻无码 | 无遮挡啪啪摇乳动态图 | 男女作爱免费网站 | 亚洲成av人在线观看网址 | 国产 精品 自在自线 | 特黄特色大片免费播放器图片 | 国产成人综合色在线观看网站 | 国产精品沙发午睡系列 | 131美女爱做视频 | 国产又粗又硬又大爽黄老大爷视 | 久久久久人妻一区精品色欧美 | 一本大道伊人av久久综合 | 国产精品美女久久久网av | 亚洲国产精品美女久久久久 | 图片区 小说区 区 亚洲五月 | 亚洲阿v天堂在线 | 欧美日韩人成综合在线播放 | 最近的中文字幕在线看视频 | 老子影院午夜精品无码 | 一本大道伊人av久久综合 | 国产办公室秘书无码精品99 | 欧美 日韩 人妻 高清 中文 | 2020久久香蕉国产线看观看 | 成人亚洲精品久久久久软件 | 国产av久久久久精东av | 永久免费精品精品永久-夜色 | 精品熟女少妇av免费观看 | 精品国产成人一区二区三区 | 亚洲 a v无 码免 费 成 人 a v | 久久精品中文闷骚内射 | 久久国产精品_国产精品 | 国产精品免费大片 | 最新国产乱人伦偷精品免费网站 | 国产情侣作爱视频免费观看 | 精品欧美一区二区三区久久久 | 美女黄网站人色视频免费国产 | 国产在热线精品视频 | 欧美自拍另类欧美综合图片区 | 国产精品自产拍在线观看 | 水蜜桃亚洲一二三四在线 | 亚洲 另类 在线 欧美 制服 | av在线亚洲欧洲日产一区二区 | 免费看男女做好爽好硬视频 | 成人免费视频视频在线观看 免费 | 国产无套粉嫩白浆在线 | 中文字幕乱码人妻二区三区 | 国产人妻精品一区二区三区 | 国精品人妻无码一区二区三区蜜柚 | 久久精品视频在线看15 | 久久99精品久久久久久 | 乱码午夜-极国产极内射 | av无码电影一区二区三区 | 亚洲欧美国产精品久久 | 国产精品办公室沙发 | 久久综合九色综合欧美狠狠 | 色偷偷人人澡人人爽人人模 | 亚洲精品一区二区三区四区五区 | 久久这里只有精品视频9 | 亚洲一区二区三区播放 | 亚洲欧洲日本综合aⅴ在线 | 国产成人久久精品流白浆 | av无码不卡在线观看免费 | 国产熟妇高潮叫床视频播放 | 大肉大捧一进一出视频出来呀 | 天堂亚洲2017在线观看 | 亚洲中文无码av永久不收费 | 亚洲阿v天堂在线 | 精品厕所偷拍各类美女tp嘘嘘 | 99久久精品无码一区二区毛片 | 久久久久久久久蜜桃 | 国产精品18久久久久久麻辣 | 国产无遮挡又黄又爽又色 | 99久久精品日本一区二区免费 | 久久综合给久久狠狠97色 | 久久人人97超碰a片精品 | 久久精品成人欧美大片 | 色欲久久久天天天综合网精品 | 亚洲无人区午夜福利码高清完整版 | 国产无av码在线观看 | 色五月五月丁香亚洲综合网 | 久久久久久九九精品久 | 国产在线精品一区二区高清不卡 | 亚洲国产欧美日韩精品一区二区三区 | 国产精品爱久久久久久久 | 97精品人妻一区二区三区香蕉 | 国产乱人偷精品人妻a片 | 国产精品久久精品三级 | 奇米影视7777久久精品人人爽 | 国模大胆一区二区三区 | av小次郎收藏 | 国产成人久久精品流白浆 | 西西人体www44rt大胆高清 | 欧美日本日韩 | 日韩av无码一区二区三区不卡 | 亚洲成熟女人毛毛耸耸多 | 成熟人妻av无码专区 | 无码国内精品人妻少妇 | 熟女少妇在线视频播放 | 欧美激情一区二区三区成人 | 无码精品国产va在线观看dvd | 一本久道久久综合狠狠爱 | 九九综合va免费看 | 久久午夜夜伦鲁鲁片无码免费 | 蜜桃av抽搐高潮一区二区 | 久久综合激激的五月天 | 色欲av亚洲一区无码少妇 | 强辱丰满人妻hd中文字幕 | 色婷婷综合激情综在线播放 | av在线亚洲欧洲日产一区二区 | 最新版天堂资源中文官网 | 免费观看黄网站 | 少妇无码av无码专区在线观看 | 国产无遮挡又黄又爽免费视频 | 国产热a欧美热a在线视频 | 亚洲综合另类小说色区 | 狠狠综合久久久久综合网 | 一区二区三区乱码在线 | 欧洲 | 亚洲爆乳无码专区 | 国产精品久久久久久亚洲毛片 | 99久久精品午夜一区二区 | 性史性农村dvd毛片 | 色综合久久中文娱乐网 | 国产亚洲精品久久久久久国模美 | 欧美老妇与禽交 | √天堂中文官网8在线 | 国产激情无码一区二区app | 一个人免费观看的www视频 | 蜜桃av抽搐高潮一区二区 | 男人扒开女人内裤强吻桶进去 | 女人被男人爽到呻吟的视频 | 夜精品a片一区二区三区无码白浆 | 国语自产偷拍精品视频偷 | 无遮挡国产高潮视频免费观看 | 国产成人精品久久亚洲高清不卡 | 久久人人97超碰a片精品 | 欧洲美熟女乱又伦 | 少妇太爽了在线观看 | 国产精品久久久久久久影院 | 欧美熟妇另类久久久久久多毛 | 极品尤物被啪到呻吟喷水 | 啦啦啦www在线观看免费视频 | 1000部啪啪未满十八勿入下载 | 性欧美牲交在线视频 | 亚洲国产精品一区二区第一页 | 又大又硬又黄的免费视频 | 纯爱无遮挡h肉动漫在线播放 | 国产精品亚洲一区二区三区喷水 | 亚洲精品一区二区三区在线 | 成人片黄网站色大片免费观看 | 午夜无码区在线观看 | 欧美放荡的少妇 | 老熟妇乱子伦牲交视频 | 熟妇激情内射com | 7777奇米四色成人眼影 | 亚洲国产日韩a在线播放 | 亚洲国产精品毛片av不卡在线 | 特黄特色大片免费播放器图片 | 永久免费观看国产裸体美女 | 国产精品久久久久9999小说 | 日日摸夜夜摸狠狠摸婷婷 |