日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

在C++中使用Protocol Buffers

發布時間:2024/4/11 c/c++ 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在C++中使用Protocol Buffers 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載并編譯Protocol Buffer

這份教程為C++開發者提供了使用 Protocol Buffer 的基本介紹。通過創建一個簡單應用,它展示了

  • .proto 文件中定義消息格式。
  • 使用 Protocol Buffer 編譯器。
  • 使用C++ Protocol Buffer API讀寫消息。

這不是一個在C++中使用 Protocol Buffer 的全面指南。更多詳細的信息,請參考Protocol Buffer語言指南, C++ API參考,C++ Generated Code Guide,和 編碼參考。

為什么使用Protocol Buffers?

我們將使用的例子是一個非常簡單的 "address book" 應用,它可以從文件讀取和向文件寫入人們的聯系人詳情。地址簿中的每個人具有一個名字 (name),ID,電子郵件地址 (email address),和聯系人電話號碼 (contact phone)。

你要如何序列化和提取這樣的結構化數據呢?有一些方法可以解決這個問題:

  • 原始的內存數據結構可以以二進制的形式發送/保存。隨著時間的流逝,這是一種脆弱的方法,因為接收/讀取的代碼必須以完全相同的內存布局、尾端等等編譯。此外,隨著文件以原始的格式累積數據及處理那種格式的軟件的復制,那種格式被不斷傳播,則它是非常難以擴展的格式。

  • 你可以發明一種特別的方式來將數據項編碼編碼為一個字符串 —— 比如將4個int值編碼為"12:3:-23:67"。這是一個簡單而靈活的方法,盡管它需要編寫一次性的編碼和解析代碼,而且解析消耗一小段運行時代價。這對于編碼非常簡單的數據是最好的方式。
    將數據序列化為XML。這種方法可能非常具有吸引力,因為XML是 (有點) 人類可讀的,而且它有大量編程語言的bindings庫。如果你想要與其它的應用/項目共享數據的話,這可能是一個很好的選擇。然而,XML是臭名昭著的空間密集,而且編碼/解碼它需要消耗應用大量的性能開銷。而且,瀏覽一個XML DOM樹也被認為比通常瀏覽類中的簡單字段更復雜。

Protocol buffers 是解決這個問題靈活,高效,自動化的方案。通過 Protocol buffers ,你可以編寫一個 .proto 描述你想要存儲的數據結構。通過它, Protocol buffers 編譯器創建一個類,以一種高效的二進制格式實現自動的編碼和解析 Protocol buffers 數據。生成的類為構成一個 Protocol buffers 的字段提供了getters和setters方法,并處理讀取和寫入 Protocol buffers 的細節。重要地是, Protocol buffers 格式通過使代碼依然能夠讀取用老的格式編碼的數據來支持隨著時間對格式的擴展。

在哪里可以找到示例代碼

源碼包中包含的示例代碼,在"examples" 目錄下。在這里下載。

定義你的協議格式

為了創建你的地址簿應用,你需要先創建一個 .proto 文件。 .proto 文件中的定義很簡單:為每個你想要序列化的數據結構添加一個 消息(message) ,然后為消息中的每個字段指定一個名字和類型。這里是定義你的消息的 .proto 文件,addressbook.proto。

package tutorial;message Person {required string name = 1;required int32 id = 2;optional string email = 3;enum PhoneType {MOBILE = 0;HOME = 1;WORK = 2;}message PhoneNumber {required string number = 1;optional PhoneType type = 2 [default = HOME];}repeated PhoneNumber phone = 4; }message AddressBook {repeated Person person = 1; }

如你所見,語法與C++或Java類似。讓我們看一下這個文件的每個部分,并看一下它做了什么。

.proto 文件以一個包聲明開始,這用于防止不同項目間的命名沖突。在C++中,生成的類將被放置在與包名匹配的命名空間中。

接下來,定義你的消息。消息只是包含了具有類型的字段的聚合。許多標準的簡單數據類型可用作字段類型,包括bool,int32,float,double,和string。你也可以通過使用消息類型作為字段類型來給你的消息添加更多結構 —— 在上面的例子中,Person消息包含了多個PhoneNumber消息,同時AddressBook消息包含Person消息。你甚至可以在其它消息中嵌套的定義消息類型 —— 如你所見,PhoneNumber類型是在Person中定義的。如果你想要你的字段值為某個預定義的值列表中的某個值的話,你也可以定義enum類型 —— 這里你想要指定電話號碼是MOBILE,HOME,或WORK中的一個。

每個元素上的 " = 1"," = 2"標記標識在二進制編碼中使用的該字段唯一的 "tag" 。Tag數字 1-15 比更大的數字在編碼上少一個字節,因而作為一種優化,你可以決定將那些數字用作常用的或重復的元素的tag,而將16及更大的數字tag留給更加不常用的可選元素。重復字段中的每個元素需要重編碼tag數字,因而這種優化特別適用于重復字段。

每個字段必須用下面的修飾符中的一個來注解:

  • required:字段必須提供,否則消息將被認為是 "未初始化的 (uninitialized)"。如果libprotobuf以debug模式編譯,則序列化未初始化的消息將導致斷言失敗。在優化的構建中,檢查將被跳過,消息仍將被寫入。然而,解析未初始化的消息將總是失敗 (通過喜愛parse方法中返回false)。否則,required字段的行為將與optional字段完全相同。

  • optional:字段可以設置也可以不設置。如果可選的字段值沒有設置,則將使用默認值。對于簡單的類型,你可以指定你自己的默認值,如我們在例子中為電話號碼類型做的那樣。否則,將使用系統默認值:數字類型為0,字符串類型為空字符串,bools值為false。對于內嵌的消息,默認值總是消息的 "默認實例 (default instance)" 或 "原型(prototype)",它們沒有自己的字段集。調用accessor獲取還沒有顯式地設置的 optional (或required) 字段的值總是返回字段的默認值。

  • repeated:字段可以重復任意多次 (包括0)。在 protocol buffer 中,重復值的順序將被保留。將重復字段想象為動態大小的數組。

你將找到一個編寫 .proto 文件的完整指南 —— 包括所有可能的字段類型 —— 在Protocol Buffer Language Guide 一文中。不要尋找與類繼承類似的設施 —— protocol buffer 不那樣做。

編譯你的Protocol Buffers

現在你有了一個.proto,接下來你需要做的事情是生成讀寫 AddressBook (及Person 和 PhoneNumber) 消息所需的類。要做到這一點,你需要在你的 .proto 上運行 Protocol Buffers 編譯器protoc:

  • 如果你還沒有安裝編譯器,則下載包,并按照README的指示進行。

  • 現在運行編譯器,指定源目錄 (放置你的應用程序源代碼的地方 —— 如果你沒有提供則使用當前目錄),目的目錄 (你希望放置生成的代碼的位置;通常與$SRC_DIR相同),你的.proto的路徑。在這個例子中,你... :

  • protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto

    由于你想要C++類,所以使用 --cpp_out 選項 —— 也為其它支持的語言提供了類似的選項。

    這將在你指定的目的目錄下生成下面的文件:

    • addressbook.pb.h,聲明你的生成類的頭文件。
    • addressbook.pb.cc,包含了你的類的實現。

    Protocol Buffer API

    讓我們看一下生成的代碼,并看一下編譯器都為你創建了什么類和函數。如果查看tutorial.pb.h,你可以看到你在tutorial.proto中描述的每個消息都有一個類。進一步看Person類的話,你可以看到編譯器已經為每個字段生成了accessors。比如,name,id,email,和phone字段,你具有這些方法:

    // nameinline bool has_name() const;inline void clear_name();inline const ::std::string& name() const;inline void set_name(const ::std::string& value);inline void set_name(const char* value);inline ::std::string* mutable_name();// idinline bool has_id() const;inline void clear_id();inline int32_t id() const;inline void set_id(int32_t value);// emailinline bool has_email() const;inline void clear_email();inline const ::std::string& email() const;inline void set_email(const ::std::string& value);inline void set_email(const char* value);inline ::std::string* mutable_email();// phoneinline int phone_size() const;inline void clear_phone();inline const ::google::protobuf::RepeatedPtrField< ::tutorial::Person_PhoneNumber >& phone() const;inline ::google::protobuf::RepeatedPtrField< ::tutorial::Person_PhoneNumber >* mutable_phone();inline const ::tutorial::Person_PhoneNumber& phone(int index) const;inline ::tutorial::Person_PhoneNumber* mutable_phone(int index);inline ::tutorial::Person_PhoneNumber* add_phone();

    如你所見,getters的名字與字段名的小寫形式完全一樣,而setter方法則以set_開頭。每個單數的 (required 或 optional) 字段還有has_ 方法,如果那個字段已經被設置了則它們放回true。最后,每個字段具有一個 clear_ 方法,用于將字段設置回它的空狀態。

    數字的id字段只有基本的如上所述的accessor set,而name和email字段則有一對額外的方法,因為它們是字符串 —— 一個mutable_ getter,讓你獲取指向字符串的直接的指針,及一個額外的setter。注意你可以調用mutable_email(),即使email還沒有設置;它將被自動地初始化為一個空字符竄。如果在這個例子中你有一個單數的消息字段,它將還有一個mutable_方法,而沒有set_方法。

    重復的字段還有一些特別的方法 —— 如果你查看重復的phone字段的方法的話,你將看到你可以

    • 檢查重復字段的 _size (換句話說,與這個Person關聯的電話號碼有多少個)。
    • 使用索引得到一個特定的電話號碼。
    • 更新特定位置處的已有電話號碼。
    • 給消息添加另一個后面你可以編輯的電話號碼 (重復的標量類型具有一個add_ 以使你可以傳入新值)。

    關于protocol編譯器為任何特定的字段定義產生什么成員的更多信息,請參考 C++ 生成代碼參考。

    枚舉和嵌套類

    生成的代碼包含一個PhoneType枚舉,它對應于你的.proto枚舉。你可以以Person::PhoneType引用這個類型,它的值包括 Person::MOBILE,Person::HOME,和Person::WORK (實現細節要復雜一點,但你使用枚舉時無需理解它們)。

    編譯器還為你生成了稱為Person::PhoneNumber的嵌套類。如果你看代碼,會發現 "真實的" 類實際稱為 Person_PhoneNumber,但定義在Person內的typedef使你可以像一個嵌套類一樣使用它。會影響到的僅有的情況是,如果你想要在另一個文件中前向聲明類 —— 你不能在C++中前向聲明嵌套類型,但你可以前向聲明Person_PhoneNumber。

    標準的消息方法

    每個消息類還包含大量的其它方法,來讓你檢查或管理整個消息,包括:

    • bool IsInitialized() const;: 檢查是否所有的required字段都已經被設置了。
    • string DebugString() const;: 返回一個人類可讀的消息表示,對調試特別有用。
    • void CopyFrom(const Person& from);: 用給定消息的值覆寫消息。
    • void Clear();: 清空所有的元素為空狀態。

    這些方法以及在后面的小節中描述的I/O方法實現了所有C++ protocol buffer類共享的Message接口。更多信息,請參考 Message的完整API文檔。

    Parsing and Serialization解析和序列化

    最后,每個protocol buffer類都有使用protocol buffer 二進制格式寫和讀你所選擇類型的消息的方法。這些方法包括:

    • bool SerializeToString(string* output) const;: 序列化消息并將字節存儲進給定的字符串中。注意,字節是二進制格式的,而不是文本;我們只將string類用作適當的容器。
    • bool ParseFromString(const string& data);: 從給定的字符串解析一個消息。
    • bool SerializeToOstream(ostream* output) const;: 將消息寫入給定的C++ ostream。
    • bool ParseFromIstream(istream* input);: 從給定的C++ istream解析消息。

    這些只是解析和序列化提供的一些選項。再次,請參考 Message API 參考 來獲得完整的列表。

    寫消息

    現在讓我們試著使用protocol buffer類。你想要你的地址簿應用能夠做的第一件事情是將個人詳情寫入地址簿文件。要做到這一點,你需要創建并防止你的protocol buffer類的實例,然后將它們寫入一個輸出流。這里是一個程序,它從一個文件讀取一個AddressBook,基于用戶輸入給它添加一個新Person,并再次將新的AddressBook寫回文件。直接調用或引用由protocol編譯器生成的代碼的部分都被高亮了。

    #include <iostream> #include <fstream> #include <string> #include "addressbook.pb.h" using namespace std;// This function fills in a Person message based on user input. void PromptForAddress(tutorial::Person* person) {cout << "Enter person ID number: ";int id;cin >> id;person->set_id(id);cin.ignore(256, '\n');cout << "Enter name: ";getline(cin, *person->mutable_name());cout << "Enter email address (blank for none): ";string email;getline(cin, email);if (!email.empty()) {person->set_email(email);}while (true) {cout << "Enter a phone number (or leave blank to finish): ";string number;getline(cin, number);if (number.empty()) {break;}tutorial::Person::PhoneNumber* phone_number = person->add_phone();phone_number->set_number(number);cout << "Is this a mobile, home, or work phone? ";string type;getline(cin, type);if (type == "mobile") {phone_number->set_type(tutorial::Person::MOBILE);} else if (type == "home") {phone_number->set_type(tutorial::Person::HOME);} else if (type == "work") {phone_number->set_type(tutorial::Person::WORK);} else {cout << "Unknown phone type. Using default." << endl;}} }// Main function: Reads the entire address book from a file, // adds one person based on user input, then writes it back out to the same // file. int main(int argc, char* argv[]) {// Verify that the version of the library that we linked against is// compatible with the version of the headers we compiled against.GOOGLE_PROTOBUF_VERIFY_VERSION;if (argc != 2) {cerr << "Usage: " << argv[0] << " ADDRESS_BOOK_FILE" << endl;return -1;}tutorial::AddressBook address_book;{// Read the existing address book.fstream input(argv[1], ios::in | ios::binary);if (!input) {cout << argv[1] << ": File not found. Creating a new file." << endl;} else if (!address_book.ParseFromIstream(&input)) {cerr << "Failed to parse address book." << endl;return -1;}}// Add an address.PromptForAddress(address_book.add_person());{// Write the new address book back to disk.fstream output(argv[1], ios::out | ios::trunc | ios::binary);if (!address_book.SerializeToOstream(&output)) {cerr << "Failed to write address book." << endl;return -1;}}// Optional: Delete all global objects allocated by libprotobuf.google::protobuf::ShutdownProtobufLibrary();return 0; }

    注意GOOGLE_PROTOBUF_VERIFY_VERSION宏。它是良好的實踐 —— 盡管不是嚴格必須的 —— 在使用C++ Protocol Buffer庫之前執行這個宏。它驗證你沒有偶然地鏈接一個與你編譯的頭文件版本不兼容的庫版本。如果探測到版本不匹配,程序將終止。注意每個.pb.cc文件自動地在啟動時調用這個宏。

    還要主要在程序的最后調用ShutdownProtobufLibrary()。這個步驟做的所有事情是刪除Protocol Buffer庫分配的全局對象。這對大多數程序都是不必要的,因為進程退出后,OS將回收它的所有內從。然而,如果你使用了內存泄漏檢查工具,它需要每個對象都被釋放,或者如果你在編寫一個庫,它可能被單獨的進程加載和卸載多次,則你可能想要強制Protocol Buffers清理所有的東西。

    讀消息

    當然,如果你不能從地址簿中獲取信息的話,那它就每什么用了。這個例子讀取上面例子創建的文件并打印它的所有信息。

    #include <iostream> #include <fstream> #include <string> #include "addressbook.pb.h" using namespace std;// Iterates though all people in the AddressBook and prints info about them. void ListPeople(const tutorial::AddressBook& address_book) {for (int i = 0; i < address_book.person_size(); i++) {const tutorial::Person& person = address_book.person(i);cout << "Person ID: " << person.id() << endl;cout << " Name: " << person.name() << endl;if (person.has_email()) {cout << " E-mail address: " << person.email() << endl;}for (int j = 0; j < person.phone_size(); j++) {const tutorial::Person::PhoneNumber& phone_number = person.phone(j);switch (phone_number.type()) {case tutorial::Person::MOBILE:cout << " Mobile phone #: ";break;case tutorial::Person::HOME:cout << " Home phone #: ";break;case tutorial::Person::WORK:cout << " Work phone #: ";break;}cout << phone_number.number() << endl;}} }// Main function: Reads the entire address book from a file and prints all // the information inside. int main(int argc, char* argv[]) {// Verify that the version of the library that we linked against is// compatible with the version of the headers we compiled against.GOOGLE_PROTOBUF_VERIFY_VERSION;if (argc != 2) {cerr << "Usage: " << argv[0] << " ADDRESS_BOOK_FILE" << endl;return -1;}tutorial::AddressBook address_book;{// Read the existing address book.fstream input(argv[1], ios::in | ios::binary);if (!address_book.ParseFromIstream(&input)) {cerr << "Failed to parse address book." << endl;return -1;}}ListPeople(address_book);// Optional: Delete all global objects allocated by libprotobuf.google::protobuf::ShutdownProtobufLibrary();return 0; }

    擴展一個Protocol Buffer

    在你發布使用你的protocol buffer的代碼之后或早或完,你都將毫無疑問的想要 "提升" protocol buffer的定義。如果你想要你的新buffers向后兼容,你的老buffers向前兼容 —— 你當然幾乎總是想要這樣 —— 然后你有一些規則要遵守。在新版本的protocol buffer中:

    • 你 一定不能 修改任何已有字段的tag數字。
    • 你 一定不能 添加或刪除required字段。
    • 你 可以 刪除可選的或重復的字段。
    • 你 可以 添加可選或重復的字段,但你必須使用新的tag數字 (比如,從未在這個protocol buffer中使用過的tag數字,甚至是在刪除的字段中也是)。

    (這些規則有 一些例外 ,但它們幾乎從未用到)

    如果你按照這些規則,老代碼將開心地讀取新消息并簡單地忽略新字段。對于老代碼來說,刪除的可選字段將簡單的具有它們的默認值,刪除的重復字段將是空的。新代碼將透明地讀取老消息。然而,請記住新的可選字段將不會出現在老的消息中,因此你將需要顯示地檢查它們是否通過has_設置了,或通過 [default = value] 在你的 .proto 文件中的tag數字后面提供一個合理的默認值。如果沒有為可選元素指定默認值,則會使用特定于類型的默認值代替:對于字符串,默認值是空字符串。對于booleans,默認值是false。對于數字類型,默認值是0。還要注意如果你添加了一個新的重復字段,你的新代碼將不能區別他是空的 (通過新代碼) 還是從來沒有設置 (通過老代碼) ,因為它沒有 has_ 標記。

    優化建議

    C++ Protocol Buffers是經過高度優化了的。然而,適當的使用可以提升更多性能。這里是一些提示,用于從庫中擠出每一滴性能:

    • 只要可能就重用消息。消息消息會嘗試保留它們分配的內存以復用,甚至當它們被清理的時候。這樣,如果你在連續處理相同類型及類似結構的許多消息,則每次復用相同消息對象就是一個降低內存分配器負載的好主意。然后,對象可能隨著變得膨脹,特別是如果你的消息在 "形狀(shape)" 上經常改變,或如果你偶然構造了一個比通常情況大很多的消息。你應該通過調用 SpaceUsed 方法監視你的消息對象的大小,并在它們變的太大時刪除它們。

    • 你的系統的內存分配器可能沒有針對在多線程中分配大量小對象做個很好的優化。則嘗試使用 Google的tcmalloc 來代替。

    高級用法

    Protocol buffers的使用場景不僅僅是簡單的存取器和序列化。確保瀏覽 C++ API 參考 來了解你還可以用它做什么。

    由protocol消息類提供的一個重要功能是 反射 。你可以迭代一個消息的字段,并在不針對特定的消息類型編寫你的代碼的情況下,管理它們的值。使用反射的一個非常有用的方式是將protocol消息轉換為其它編碼方式,或從其它編碼方式轉換,比如XML或JSON。反射的一個更高級的使用可能是查找相同類型的兩個消息之間的差異,或者開發某種"protocol消息正則表達式",你可以編寫表達式用它匹配某一消息內容。如果使用你想象力,則將Protocol Buffers用到比你最初期望的更加廣泛的問題的解決中是有可能的!

    Message::Reflection 接口提供了反射.

    原文

    總結

    以上是生活随笔為你收集整理的在C++中使用Protocol Buffers的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    天干啦夜天干天干在线线 | 国产精品9区 | 国产69精品久久99的直播节目 | 99re8这里有精品热视频免费 | 亚洲精品久久久蜜桃直播 | 久久久久国产精品一区 | 久久久黄视频 | 这里只有精品视频在线 | 天天操天天干天天干 | 国产一级黄 | 激情伊人五月天 | 天堂av高清| 国产精品免费久久久久久 | 亚洲视频在线视频 | 日韩欧美视频免费观看 | 国产日韩欧美网站 | 黄色网www | 国产成人精品av在线观 | 又大又硬又黄又爽视频在线观看 | 欧美精品在线免费 | 色综合天天狠天天透天天伊人 | 开心色激情网 | 看污网站 | 日韩av网站在线播放 | 国产女人40精品一区毛片视频 | 中文字幕色婷婷在线视频 | 玖玖视频精品 | 在线黄色av电影 | 99视频在线观看免费 | 一级大片在线观看 | 亚洲人久久| 成人黄色大片 | 成年人黄色免费视频 | 亚洲伊人av | 日批视频在线播放 | 91亚洲精品久久久久图片蜜桃 | 91探花国产综合在线精品 | 久久精品国产精品亚洲 | 日日狠狠 | 久久精品久久精品久久39 | 夜夜躁日日躁狠狠久久88av | 亚洲区精品视频 | 黄色大片免费播放 | 日韩理论片在线观看 | 一级片免费观看 | 亚洲精品国产视频 | 久草在线资源观看 | 色网av| 欧美激情综合色综合啪啪五月 | 成人高清在线 | 欧美一级片免费观看 | 在线免费观看成人 | av中文字幕在线观看网站 | 999久久久精品视频 日韩高清www | 亚洲综合干| 亚洲国产美女久久久久 | 成人在线视频免费看 | 午夜av在线播放 | 狠狠五月天 | 午夜精品区 | 久久久久福利视频 | 99精品在这里 | 在线免费观看国产视频 | 日韩精品久久久久久久电影99爱 | 伊人网av | 国产免费资源 | 亚洲精品久久久久久中文传媒 | a天堂最新版中文在线地址 久久99久久精品国产 | 97超碰资源站 | 日本久久不卡视频 | 成年人免费在线观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 日韩久久精品一区二区 | 在线观看91精品视频 | 精品国产一区二区三区在线 | 久久久一本精品99久久精品66 | 国产精品综合久久久久久 | www.av免费观看 | 亚洲精品裸体 | 国产高清av免费在线观看 | 欧洲精品一区二区 | 国产日产亚洲精华av | 日韩资源在线观看 | 四虎伊人| 91成人蝌蚪 | 色综合天天视频在线观看 | 日韩欧美99 | 国产精品涩涩屋www在线观看 | 中文在线免费观看 | 日操干| 国产精品va最新国产精品视频 | 欧美日韩xxxxx| 欧美成人精品欧美一级乱 | 久久黄色免费观看 | 丁香午夜婷婷 | 香蕉视频91 | 欧美一区二区三区在线视频观看 | 欧美专区亚洲专区 | www黄在线 | 久久久首页 | 日韩一级成人av | 五月天中文在线 | 91av色| 国产五月色婷婷六月丁香视频 | 欧美一区二视频在线免费观看 | 国产在线视频导航 | 1区2区3区在线观看 三级动图 | 日免费视频 | 色人久久 | 狠狠躁18三区二区一区ai明星 | 国产精品久久久久久婷婷天堂 | 日本乱视频| 国产精品久久久久久久久久久久冷 | 久久久片 | 亚洲国产中文在线 | 久久婷婷一区 | 亚洲国产97在线精品一区 | 国产精品一区二区久久精品 | 日韩av免费在线看 | av在线免费观看不卡 | 天天插日日射 | 99 色| 五月婷婷中文网 | 综合网中文字幕 | 免费大片黄在线 | 黄污视频网站 | 奇米777777| 五月综合网站 | 日韩av中文 | 日韩免费三区 | 综合网中文字幕 | 精品视频不卡 | 成人免费看片网址 | 国产黄色高清 | 免费在线观看午夜视频 | 久久艹人人 | 日韩中文免费视频 | 蜜桃视频精品 | 国产精品成人自产拍在线观看 | 精品国产1区2区3区 国产欧美精品在线观看 | 丁香一区二区 | 91黄色小视频 | 日韩成人精品一区二区 | 色九九影院 | 国产视频精品网 | 国产中文a| 91日本在线播放 | 色偷偷男人的天堂av | 亚洲日韩欧美一区二区在线 | 91成人天堂久久成人 | 欧美在线观看视频 | 少妇bbb好爽 | 久久伦理| 在线观看视频亚洲 | 2021国产在线视频 | 久久久91精品国产一区二区三区 | 日韩在线观看一区 | 黄色成年 | 中文在线www | 中文字幕在线免费 | 黄色毛片网站在线观看 | 亚洲成av人片 | 狠狠色丁香婷婷综合基地 | 在线欧美最极品的av | 中文字幕免费在线看 | 精品亚洲免费 | 国产精品亚洲综合久久 | 精品日韩在线 | 欧美精品午夜 | 亚洲国产精品99久久久久久久久 | 久久久久久久久黄色 | 日韩视频专区 | 五月天开心| 久草在线一免费新视频 | 亚洲电影黄色 | 亚洲日本成人网 | 亚洲女裸体 | 不卡视频在线 | 久久久久麻豆v国产 | 碰超在线观看 | 日韩亚洲在线视频 | 菠萝菠萝在线精品视频 | 日韩免费不卡av | 人人草人| 欧美日韩中文字幕综合视频 | 欧美精品在线观看一区 | 日韩在线免费电影 | 国产码电影 | 亚洲午夜久久久久久久久久久 | 在线看日韩 | av免费电影在线观看 | 久久国产午夜精品理论片最新版本 | 国产资源中文字幕 | 久久tv | 久久国产精彩视频 | 午夜999| 91精品国产99久久久久 | 国内精品在线一区 | 久久精品欧美一区二区三区麻豆 | 999电影免费在线观看2020 | 黄色特一级 | 欧美另类老妇 | 色综合天天天天做夜夜夜夜做 | 女人高潮一级片 | 丁香激情综合久久伊人久久 | av资源免费在线观看 | 色吧av色av | 中文理论片 | 亚洲精品97 | 午夜影院三级 | 成人黄色在线 | www.国产视频| 久久成人亚洲欧美电影 | 九九精品视频在线看 | 国产精品毛片久久久久久久久久99999999 | 国产中文字幕视频 | 黄av在线 | 国产热re99久久6国产精品 | 精品国产自 | 爱爱av在线 | 久久99视频 | 久久久 精品 | 欧美日韩亚洲第一 | 久章草在线观看 | 伊人婷婷 | 久久精品视频观看 | 69视频永久免费观看 | 天天躁日日| 天天操人人要 | 美女久久视频 | 亚洲v欧美v国产v在线观看 | 亚洲精品女人久久久 | a在线观看免费视频 | 狠狠狠色丁香综合久久天下网 | 国产精品久久久久一区二区国产 | 亚洲欧美综合精品久久成人 | 欧美另类视频 | 欧美乱码精品一区 | 五月天激情视频 | 天天射射天天 | 99在线观看免费视频精品观看 | 最新av电影网站 | 欧美日韩在线视频一区 | 五月天久久久 | 射综合网| 国产中文字幕一区 | 天天天天天操 | 狠狠狠色丁香婷婷综合久久五月 | 99在线高清视频在线播放 | 91高清在线看 | 国内精品久久久久久久久久久 | 国产一区二区高清不卡 | 91香蕉视频在线下载 | 久久99电影| 国产看片网站 | 蜜桃av人人夜夜澡人人爽 | 在线观看资源 | 久草在线中文视频 | 免费看片日韩 | 99精品网站 | 欧美性生活小视频 | 欧美精品久久久久久久 | 免费黄在线观看 | 国产精品久久久久9999 | 在线免费黄色 | 国产一区二区成人 | 黄色毛片在线 | 亚洲每日更新 | 中文字幕在线网 | 色综久久 | 免费一级片视频 | 欧洲av不卡 | 99精品国产在热久久 | 成年人视频在线免费观看 | 亚洲精区二区三区四区麻豆 | 天天操天天干天天操天天干 | 一区二区三区日韩视频在线观看 | 91精品国产综合久久福利不卡 | 九九九九色 | 国产午夜在线观看视频 | 日韩精品一区二区三区三炮视频 | 91亚洲精品国产 | 国产精品成人自产拍在线观看 | 亚洲精品中文字幕在线观看 | 天堂av在线免费 | 国产午夜一区二区 | 国产成人一区二区三区久久精品 | 麻豆91在线看 | 免费观看一级 | 91亚瑟视频| www.五月天| 欧洲一区二区在线观看 | 亚洲伊人网在线观看 | 天天操天天色天天射 | 国产精品免费麻豆入口 | 波多野结衣一区二区三区中文字幕 | 欧美国产精品久久久久久免费 | 精品国产精品国产偷麻豆 | 久久视频6| 激情综合五月网 | 一区二区三区四区在线 | 欧美激情精品久久久 | 最近最新最好看中文视频 | 91精品在线观看入口 | 九色琪琪久久综合网天天 | 在线v片免费观看视频 | 亚洲人在线视频 | 天堂网在线视频 | 一区二区理论片 | 国产视频 久久久 | 久久国产露脸精品国产 | 天天干 天天摸 天天操 | www.888av| 亚洲电影院 | 日韩免费在线视频 | 国产精品视频免费 | 色视频成人在线观看免 | 国产69精品久久久久久久久久 | 91网在线| 成人a免费 | 视频国产一区二区三区 | 亚洲美女在线一区 | 丝袜av网站 | 久久精品视频在线观看 | 久久亚洲欧美日韩精品专区 | 免费视频一二三区 | 久草网视频在线观看 | 日韩色一区二区三区 | 在线观看免费av网 | 中文字幕亚洲在线观看 | 人人澡超碰碰97碰碰碰软件 | 天天超碰 | 国产精品麻豆99久久久久久 | 韩国av免费 | 在线观看亚洲国产精品 | 射九九| a视频在线观看 | 精品久久网 | 亚洲精品视频免费看 | 五月婷社区 | 婷婷深爱 | 黄色的网站在线 | 91久久奴性调教 | 久久影院亚洲 | 亚洲男男gⅴgay双龙 | 99精品欧美一区二区三区 | 中文字幕丝袜制服 | 国产一区免费观看 | 西西444www高清大胆 | 四虎永久国产精品 | 手机av在线不卡 | 亚洲一级片av | 国产亚洲精品久久久久秋 | 人人爽人人爽人人爽学生一级 | 欧美 亚洲 另类 激情 另类 | 香蕉视频国产在线观看 | 国产精品美女久久久久久 | 狠狠色狠狠色 | 国产成人久久精品77777 | 69国产精品视频免费观看 | 欧美一级片在线播放 | 永久免费精品视频 | japanesefreesex中国少妇 | 黄色三级网站在线观看 | 亚洲在线观看av | av大全在线免费观看 | 高清av免费观看 | 亚洲国产成人在线观看 | 麻豆传媒视频在线免费观看 | 日本久久久久久久久久久 | 国产高清视频网 | 久久精品一二三 | 四虎影视欧美 | 99久久精品日本一区二区免费 | 深爱婷婷激情 | 亚洲一二三区精品 | 五月激情姐姐 | 蜜臀久久99精品久久久无需会员 | 热re99久久精品国产99热 | 蜜臀久久99精品久久久无需会员 | 日韩大片在线播放 | 波多野结衣动态图 | 精品成人在线 | 一区二区三区免费看 | 91在线中字 | 国产高清综合 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 中文字幕 国产视频 | 人人草在线视频 | 中文字幕91视频 | 国产网站色 | 久久久伦理 | 97成人在线视频 | 欧美一级性生活 | 人人干人人上 | av高清不卡 | 欧美日韩中文另类 | 久久久久久国产一区二区三区 | 视频三区 | 亚洲精品视频免费 | 亚洲黄色一级视频 | 精品久久久久久亚洲综合网站 | 特级毛片网站 | 美女视频永久黄网站免费观看国产 | 国产成人精品一区在线 | 狠狠干激情| 精品在线99 | 中文字幕在线观看网 | 国产爽妇网| www.少妇| 99热在线国产精品 | 99电影| 亚洲一区日韩 | 一区二区不卡在线观看 | 国产高清在线不卡 | 婷婷.com| 玖玖在线观看视频 | 久久丁香 | 4438全国亚洲精品观看视频 | 亚洲激情在线播放 | 91麻豆看国产在线紧急地址 | 精品电影一区 | 91在线视频免费观看 | 久久人人爽人人爽人人片 | 99在线视频免费观看 | 国产精品久久一区二区无卡 | 五月婷婷六月丁香 | 亚洲专区中文字幕 | 久久免费视频一区 | av高清一区二区三区 | 成人九九视频 | 91桃色在线播放 | 色视频国产直接看 | 日韩专区在线 | 天天综合天天做天天综合 | 日韩高清久久 | 亚洲国产精品电影 | 超碰电影在线观看 | 中文字幕在线免费观看视频 | 99久久99久久精品免费 | ,午夜性刺激免费看视频 | a天堂最新版中文在线地址 久久99久久精品国产 | 欧美视频日韩视频 | 欧美一区二区三区在线视频观看 | 91桃色在线观看视频 | 中文字幕免费观看全部电影 | 国产永久网站 | 国产在线无| 在线免费看黄色 | 日韩理论片在线观看 | 久久免费av电影 | 日韩av电影中文字幕在线观看 | 久久精品国产99 | 国产一区免费在线 | 精品在线观看视频 | 国产+日韩欧美 | 欧洲在线免费视频 | 五月天,com| 91在线影视 | 一级免费av | 久久99九九99精品 | 欧美日韩午夜在线 | 久草手机视频 | 中文在线a天堂 | 在线91观看| 91黄色视屏| 在线免费黄网站 | 国产韩国精品一区二区三区 | 久久毛片高清国产 | 极品嫩模被强到高潮呻吟91 | 91香蕉视频在线下载 | 免费在线电影网址大全 | 久久久www成人免费毛片麻豆 | 日韩不卡高清视频 | 成人久久18免费网站麻豆 | 99久久99视频只有精品 | 精品一区二区在线免费观看 | 在线看v片 | 久久久久亚洲精品成人网小说 | 精产嫩模国品一二三区 | 国产精品亚洲人在线观看 | 麻豆高清免费国产一区 | 国产精品区一区 | 亚洲精品在线免费播放 | 成人av电影在线观看 | 久久9精品 | 99久久精品免费看国产免费软件 | 久久狠狠一本精品综合网 | 亚洲精品99久久久久久 | 色偷偷888欧美精品久久久 | 日韩一区二区久久 | 中文视频在线 | 午夜国产福利视频 | 成人免费网站视频 | 亚洲欧美日韩精品久久奇米一区 | 久久亚洲福利视频 | 99久久毛片 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产免费美女 | 欧美日韩一区二区视频在线观看 | 亚洲国产一区在线观看 | 精品毛片一区二区免费看 | 色婷婷免费视频 | a级片久久久 | 91精品久久久久久 | 国产精品xxxx18a99 | 国产视频精品在线 | 水蜜桃亚洲一二三四在线 | 国产亚洲精品无 | 综合久久五月天 | 美女搞黄国产视频网站 | av电影中文字幕 | 国产亚洲精品久久网站 | 久黄色| 欧美日韩在线视频免费 | av黄网站 | 美女黄频在线观看 | 亚洲黄色av| 国产精品18久久久久vr手机版特色 | 激情 一区二区 | 中文一区在线观看 | 亚洲精品乱码 | 黄色国产区 | 免费人成在线观看 | 一区三区视频 | 成人国产精品电影 | 久久好看免费视频 | 91成年人视频 | 999毛片| 日日添夜夜添 | 91亚洲成人 | 亚洲成aⅴ人在线观看 | 亚洲成av片人久久久 | 国产日韩欧美在线观看 | 欧美极品少妇xbxb性爽爽视频 | 免费观看一区二区三区视频 | 欧美精品久久久久 | 欧美激情一区不卡 | 亚洲精品啊啊啊 | 永久免费av在线播放 | 99精品视频中文字幕 | 欧美日韩久久一区 | 激情综合网在线观看 | 免费av视屏| 精品黄色在线 | 麻豆久久一区 | 亚洲国产午夜 | 在线看av网址| 久久亚洲福利 | 久久久久久久久影院 | 91视频免费看片 | 日韩在线中文字幕 | 天干啦夜天干天干在线线 | 狠狠色狠狠色终合网 | 狠狠操狠狠| 日韩在线视频网址 | 亚洲精品1区2区3区 超碰成人网 | 91丨九色丨国产在线 | 日韩中字在线 | 97涩涩视频 | 亚洲一区动漫 | 狠狠色狠狠色综合日日小说 | 国产视频每日更新 | 成年人免费在线观看 | 国产精品观看在线亚洲人成网 | 成人av在线一区二区 | 在线视频 一区二区 | av丁香花 | 久久久精品免费观看 | 狠狠gao | www.香蕉| 亚洲综合激情小说 | 色婷婷福利 | 成人在线黄色电影 | 国产一区在线免费观看 | 在线免费视频a | 国产一区在线视频播放 | 99视频这里有精品 | 日本高清中文字幕有码在线 | 久久久久久欧美二区电影网 | 福利电影久久 | 久久热亚洲 | 在线观看91精品国产网站 | 福利一区在线视频 | 精品久久久成人 | 亚洲精品成人在线 | 日韩精品五月天 | 亚洲一区二区三区在线看 | 综合久色| 在线免费色 | 亚洲精品a区 | 成人在线播放视频 | 欧美激情精品久久久久久免费印度 | 成人黄色影片在线 | 国产在线中文字幕 | 亚洲欧洲中文日韩久久av乱码 | 欧美成人精品欧美一级乱黄 | 国产精品国产亚洲精品看不卡15 | 91在线国内视频 | 天天综合久久综合 | 在线成人免费电影 | 中文字幕在线久一本久 | 91视频久久 | 亚洲精品456在线播放第一页 | 国产理论片在线观看 | 日韩二级毛片 | 免费高清av在线看 | 在线日韩精品视频 | 99精品在线视频观看 | 久热免费在线观看 | 香蕉手机在线 | 中文日韩在线视频 | 亚洲精品美女久久17c | 黄色aaaaa| 99国产在线| 色午夜影院 | 99九九99九九九视频精品 | 色综合天天色 | 亚洲精品视频在线看 | 国产精品高清一区二区三区 | 探花视频免费观看 | av福利在线 | 久草干| 深夜免费网站 | 99麻豆视频| 午夜 久久 tv | 中文字幕在线观看完整版 | 奇米导航 | 国产91aaa| 欧美日本不卡视频 | 国产精品久久久999 国产91九色视频 | 五月导航 | 亚洲国产精品电影 | 日本婷婷色 | 成人免费共享视频 | 亚洲免费av网站 | 97超碰网| 98久9在线 | 免费 | 国产在线不卡视频 | 欧美 日韩精品 | 日韩在线色视频 | 久久99久久99精品免视看婷婷 | 午夜视频在线观看一区 | 91九色视频国产 | 国产三级在线播放 | 成人高清在线观看 | 亚洲第一色 | 不卡日韩av | www91在线| 色婷婷福利视频 | 日韩精品一区二区三区在线视频 | 国产精品美女久久久久久久久 | 婷婷午夜激情 | 色天堂在线视频 | 久久毛片视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国产毛片久久久 | 久久 在线| 中文字幕在线视频免费播放 | 亚洲va男人天堂 | 久草a视频 | 亚洲精品久久视频 | 伊人久久在线观看 | 天天摸日日操 | 在线免费观看黄色大片 | 亚洲精品在线国产 | 日韩一区正在播放 | 91视频在线国产 | 91精品夜夜 | 天堂网av 在线 | 欧美一区二区视频97 | 久久艹人人 | 99精品国产免费久久久久久下载 | 欧美精品一级视频 | 91热视频在线观看 | 欧美一区二区三区在线观看 | 精品久久久久久久久久久院品网 | 999成人免费视频 | 99久高清在线观看视频99精品热在线观看视频 | 亚洲永久国产精品 | 国产字幕av | 久草视频在线免费 | 日本中文字幕在线免费观看 | 在线欧美日韩 | 五月天久久久久久 | www.av免费观看 | 亚洲国产精品传媒在线观看 | 亚洲视频精选 | 黄色小说18 | 日日干夜夜爱 | 国产理论片在线观看 | 日韩资源视频 | 中文字幕久久亚洲 | av在线免费在线 | 黄色一级大片在线免费看国产一 | 欧美精品免费在线 | 乱男乱女www7788 | 丁香色婷婷 | 五月婷婷综合激情网 | 欧美日韩aaaa | 在线看欧美 | 色综合网| 国内毛片毛片 | 免费国产在线精品 | 久久久国产一区二区三区 | 午夜精品一区二区三区可下载 | 亚洲综合激情网 | 伊人干综合 | 天天噜天天色 | 狠狠操天天射 | 欧美色综合天天久久综合精品 | 日韩在线观 | 日韩免费观看一区二区 | 最新日韩在线观看 | 亚洲一级特黄 | 欧美精品乱码久久久久 | 99这里只有久久精品视频 | 99精彩视频| 精品日韩中文字幕 | 国产亚洲视频中文字幕视频 | 五月天亚洲精品 | 成人久久电影 | av青草| 成x99人av在线www | 808电影| 久久情网| www.久艹| 99久久www免费 | 亚洲黄色免费在线看 | 日韩三级免费观看 | 国产在线一区二区 | 久久av福利| japanese黑人亚洲人4k | 欧美精品一区二区三区一线天视频 | 狠狠躁夜夜躁人人爽超碰91 | 日韩丝袜在线观看 | 亚洲 中文字幕av | 天天操夜夜拍 | 免费观看性生交大片3 | 久久久久五月天 | 国产在线精品视频 | 激情网色 | 日本午夜在线观看 | 国产网站av | 久久神马影院 | 激情欧美一区二区三区免费看 | 久久久久久久久久久久影院 | 在线导航av| 911香蕉 | 人人看人人做人人澡 | 成人91免费视频 | 色吊丝在线永久观看最新版本 | 午夜精品久久久久久久99水蜜桃 | 青春草视频在线播放 | 久久99精品国产99久久 | 黄色av一级片 | 黄色小说在线免费观看 | 91精品国产92久久久久 | 91精品国产成 | 成人h电影在线观看 | 天天爱天天操 | 亚洲日本精品 | 国产在线播放一区二区三区 | 国产日韩精品一区二区 | 久久国产精品电影 | 一本一本久久aa综合精品 | 在线超碰av | 国产成人一区二区三区在线观看 | 色激情五月| 日韩视频1区 | 日韩在线视频看看 | 99综合久久 | 久久久久久免费毛片精品 | 91丨九色丨勾搭 | 国产中文欧美日韩在线 | 国产手机视频 | 国产97碰免费视频 | 丰满少妇在线观看资源站 | 国产一区二区在线免费观看 | 免费一级片在线观看 | 四虎成人精品在永久免费 | 国产精品久久久久久久电影 | 天天看天天操 | 国产最新视频在线 | 久久久久北条麻妃免费看 | 欧美中文字幕久久 | 成人网页在线免费观看 | 国产一级二级在线观看 | 久久97久久97精品免视看 | 黄色一级动作片 | 日韩中文字幕91 | 99人久久精品视频最新地址 | 久久久高清视频 | 日本高清免费中文字幕 | 国产一区二区高清视频 | 亚洲www天堂com| 亚洲成a人片在线www | 夜夜夜| 99精品视频在线观看视频 | 中文字幕av电影下载 | 人人爽人人搞 | 日韩欧美在线观看一区二区 | 超碰国产在线观看 | 亚洲天堂网视频 | 一级全黄毛片 | 成人在线播放视频 | 99精品视频在线播放免费 | 国产亚洲精品久久久久久网站 | 久久婷婷精品 | 高清国产在线一区 | 一级欧美黄 | 天堂av免费 | 中文视频在线播放 | 国产福利91精品一区二区三区 | 免费看的黄色录像 | 久久综合成人网 | 亚洲一二视频 | 欧美日韩精品在线免费观看 | 一区二区久久 | 97超碰超碰久久福利超碰 | 精品久久久久久久久久久久久久久久 | 亚洲精品免费在线播放 | 国产精品久久99精品毛片三a | 99久久99久国产黄毛片 | 日本爱爱片| 四虎影视8848dvd | 亚洲美女精品视频 | 成人在线播放网站 | 亚洲精品久| 日韩欧美精品一区二区 | 国产第一页福利影院 | 在线观看视频免费播放 | 在线观看中文字幕 | 免费在线激情电影 | 久久精品中文字幕少妇 | 96亚洲精品久久久蜜桃 | 91成人看片| 99这里只有精品99 | 91丨九色丨国产丨porny精品 | www.伊人网 | 91激情视频在线观看 | 欧美 日韩 国产 成人 在线 | 久久亚洲精品国产亚洲老地址 | 精品国产一区二区三区四 | 久久爱影视i | 国产大陆亚洲精品国产 | 精品国产乱码久久久久久1区二区 | 国产一区二区观看 | 成人国产精品av | sesese图片| 免费av网站在线看 | 91视频在线免费看 | 日韩网站免费观看 | 丁香伊人网 | 欧美日韩视频在线 | av超碰在线| 天天操天天舔天天爽 | 久草在线91 | 91精品秘密在线观看 | www.夜夜爱| 欧美精品乱码99久久影院 | 一级一片免费观看 | 国产91学生粉嫩喷水 | 91av久久| 亚洲永久精品国产 | 91在线精品一区二区 | 色噜噜在线观看 | 天天射天天干天天爽 | 日韩欧美在线高清 | 欧美日韩中字 | 一本—道久久a久久精品蜜桃 | 毛片www| 午夜丁香视频在线观看 | 一区二区网| 精品一区二区av | 色婷婷精品大在线视频 | 久草精品视频在线播放 | a视频在线观看免费 | 国产精品18久久久久久不卡孕妇 | 激情综合色综合久久综合 | 不卡视频在线 | 色综合激情网 | 亚洲精品一区二区精华 | 97在线观看视频 | 亚洲成a人片综合在线 | 成人在线免费看 | www.色婷婷 | 国产一区二区三精品久久久无广告 | 亚洲精品网站 | 在线亚洲观看 | 久久久久久久久精 | 亚州人成在线播放 | 黄色三级免费网址 | 天天干天天综合 | 日日夜夜噜噜噜 | 免费看在线看www777 | 91av视频免费在线观看 | 国产免费叼嘿网站免费 | 在线观看亚洲a | 色操插| 亚洲成人网av | 亚洲精品在线观看视频 | 亚洲成人免费在线观看 | 国产在线精品视频 | 日韩久久精品一区二区三区下载 | 成年人黄色在线观看 | 精品视频久久 | 在线观看亚洲免费视频 | 一区二区三区四区久久 | 91tv国产成人福利 | 欧美久久久久久久久久久 | av日韩av| 久久久久国产精品www | 在线观看中文字幕第一页 | 在线观看av的网站 | 日韩在线视频在线观看 | 国产色黄网站 | 午夜av在线播放 | 97看片网| 在线亚洲欧美日韩 | 99精品视频播放 | 欧美精品首页 | 久久久麻豆精品一区二区 | 天堂va在线观看 | 97超碰人人模人人人爽人人爱 | 岛国精品一区二区 | 午夜影院一级 | 久久综合五月天 | 免费成人在线电影 | 久久99久久久久 | 国产精品美女久久久久久久网站 | 色婷婷中文 | 国产精品综合av一区二区国产馆 | 久久人人爽人人爽人人片av免费 | 国产成人久久久久 | 成人久久久精品国产乱码一区二区 | 国产精品久久久久久一二三四五 | 国语久久 | 国产人成看黄久久久久久久久 | 91视频麻豆| 97国产精品久久 | 视频在线国产 | 欧美日韩视频在线播放 | 91精品国产福利在线观看 | 久久xxxx | 99视频黄 | 久草在线费播放视频 | 成人午夜精品久久久久久久3d | 日日射av | 欧美电影黄色 | 久草在线视频在线 | 精品久久美女 | 久久免费福利 | www日韩视频 | 特级西西www44高清大胆图片 | 国产精品久久久久久久久久久久午 | 国产精品久久麻豆 | 久久久成人精品 | 久久久久久久免费观看 | 国产人免费人成免费视频 | 国产不卡在线观看视频 | 91在线免费视频观看 | 中文字幕久久久精品 | 婷婷伊人五月 | 欧美一级爽| 9免费视频| 日韩在线高清免费视频 | 男女啪啪免费网站 | 永久精品视频 | 一本色道久久综合亚洲二区三区 | 欧美另类一二三四区 | 日本最新高清不卡中文字幕 | 欧美一性一交一乱 | 成人av一区二区兰花在线播放 | 久久国产网站 | 亚洲三级性片 | 欧美一级黄色网 | 日日综合 | 免费手机黄色网址 | 中文久久精品 | 97超碰人人澡人人爱学生 | 国产免费视频一区二区裸体 | 国产精品18videosex性欧美 | 国产一区二区三区高清播放 | 免费观看的黄色片 | 日韩色高清 | 天天插综合网 | 91在线porny国产在线看 | 国产毛片aaa| 亚洲精品乱码久久久一二三 | 天天色天天草天天射 | 人人草在线观看 | 西西4444www大胆无视频 | 欧美成人h版电影 | 麻豆一精品传二传媒短视频 | 91精品啪在线观看国产81旧版 | 亚洲伦理一区二区 | 91精品黄色 |