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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

深入Unreal蓝图开发:实现蓝图模板函数

發布時間:2023/12/20 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入Unreal蓝图开发:实现蓝图模板函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Unreal的藍圖和C++一樣,也是一種靜態類型的編程語言,它又不像其他靜態類型語言那樣支持模板,有些時候就覺得很不方便。思考了一下這個問題。想要藍圖節點支持任意類型的參數,主要分為兩種情況:

  • UObject派生類對象:那很簡單了,使用基類指針作為參數就好,在C++里面可以Cast,或者取得對象的UClass,就可以根據反射信息做很多事了;
  • Struct類型,或者TArray<MyStruct>類型:這個是本文的重點。

其實說藍圖完全不支持“模板”也是不對的,引擎中其實已經有很多能夠處理任意Struct或者TArray<MyStruct>類型的節點了!官方文檔中把這種情況叫做參數“Wildcard”(通配符)。感謝Unreal開源,通過閱讀源代碼,加上一點實驗,就能夠搞清楚具體實現方法和背后的細節。

下面主要探討使用UFUNCTION的CustomThunk描述符,實現自定義的Thunk函數;然后通過指定meta的CustomStructureParam和ArrayParm參數,來實現參數類型“通配符”!這中間的難點是:需要明確藍圖Stack的處理方式。Demo如下圖所示:

在上圖的Demo中:

  • 自定義了一個藍圖Struct:MyStruct
  • 使用C++實現了一個藍圖節點“Show Struct Fields”:可以接受任意UStruct的引用,具體類型可以由C++或者藍圖定義;
  • 藍圖節點“Array Numeric Field Average”:可以接受任意類型的TArray<MyStruct>,并對數組中指定的數值型字段求平均;
  • 完整的Demo工程可以從我的GitHub下載:https://github.com/neil3d/UnrealCookBook/tree/master/MyBlueprintNode

    實現藍圖功能節點的幾種方式

    在Unreal開發中可以使用C++對藍圖進行擴展,生成Unreal藍圖節點最方便的方法就是寫一個UFUNCTION,無論是定義在UBlueprintFunctionLibrary派生類里面的static函數,還是定義在UObject、AActor派生類里面的類成員函數,只要加上UFUNCTION宏修飾,并在宏里面添加BlueprintCallable標識符,就可以自動完成藍圖編輯節點、藍圖節點執行調用的整個過程。不過,由于C++和藍圖都屬于“靜態類型”編程語言,這種形式編寫的藍圖節點,所有的輸入、輸出參數的類型都必須是固定的,這樣引擎才能自動處理藍圖虛擬機的棧。

    先來總結一下C++實現藍圖節點的幾種方式:

  • UFUNCTION,上面已經說過了;
  • 實現class UK2Node的派生類,這是最強大的方式,是對藍圖節點最深入的定制開發,如果你需要動態的添加、刪除藍圖節點的針腳,就只能用這種方式了。例如我們常用的“Format Text”節點,可以根據輸入字符串中的“{index}”來動態增加輸入節點,輸入節點的類型也是動態的,這個就是通過class UK2Node_FormatText這個類來實現的;
  • 還有介于上面兩者之間的一種方式,就是在UFUNCTION中使用“CustomThunk”標識,告訴UHT(Unreal Header Tool)不要生成默認的藍圖包裝函數,而是由我們手工實現。這種方式,需要手工控制藍圖虛擬機的“棧”,但是不用處理藍圖編輯器UI部分,相對第2種來說代碼量要少很多,相對第1種來說,又多了很多控制力;
  • 另外,藍圖的“宏”–Macros,也可以實現自己的節點。
  • 使用第3種方式,結合UFUNCTION的其它meta標識符,可以實現參數類型的“通配符”,就可以實現模板函數,也就是輸入、輸出參數可以處理多種數據類型,類似C++的泛型。這些meta標識符主要有:

  • ArrayParm="Parameter1, Parameter2, ..":說明 BlueprintCallable 函數應使用一個Call Array Function節點,且列出的參數應被視為通配符數組屬性;
  • ArrayTypeDependentParams="Parameter":使用 ArrayParm 時,此說明符將指定一個參數,其將確定 ArrayParm 列表中所有參數的類型;
  • CustomStructureParam="Parameter1, Parameter2, ..":列出的參數都會被視為通配符。
  • 引擎源代碼中,這種編程方式的典型的例子有:

    • 藍圖編輯器中的“Utilities”->“Array”菜單中的所有節點,他們可以處理任意的UStruct類型的數組。這些節點對應的源代碼是:class UKismetArrayLibrary
    • class UDataTableFunctionLibrary::GetDataTableRowFromName(UDataTable* Table, FName RowName, FTableRowBase& OutRow)

    詳見官方文檔:UFunctions

    CustomThunk函數

    如果在UFUNCTION宏里面指定了CustomThunk,那么UHT就不會自動生成這個函數的“thunk”,而需要開發者自己實現。這里的“thunk”是什么呢?我們看個例子。

    我們來做個最簡單的小試驗,在工程中建立一個Blueprint Function Library,添加一個簡單的UFUNCTION:

    #pragma once#include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "MyBlueprintFunctionLibrary.generated.h"UCLASS() class MYBLUEPRINTNODES_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary {GENERATED_BODY() public:UFUNCTION(BlueprintCallable)static int Sum(int a, int b); };

    然后在對應的cpp文件中,使用C++實現這個函數:

    #include "MyBlueprintFunctionLibrary.h"int UMyBlueprintFunctionLibrary::Sum(int a, int b) {return a + b; }

    項目build一下,然后你就可以在“Intermediate”目錄找到這個"MyBlueprintFunctionLibrary.generated.h"文件。在這個文件里面,你可以找到這樣一段代碼:

    DECLARE_FUNCTION(execSum) \{ \P_GET_PROPERTY(UIntProperty,Z_Param_a); \P_GET_PROPERTY(UIntProperty,Z_Param_b); \P_FINISH; \P_NATIVE_BEGIN; \*(int32*)Z_Param__Result=UMyBlueprintFunctionLibrary::Sum(Z_Param_a,Z_Param_b); \P_NATIVE_END; \}

    這段代碼就是藍圖函數節點的thunk了!這段代碼做了這樣幾件事:

  • 聲明了一個名為“execSum”的函數,函數的簽名為:void func( UObject* Context, FFrame& Stack, RESULT_DECL )
  • 使用P_GET_PROPERTY宏,從“FFrame& Stack”(也就是藍圖虛擬機的棧)中取出函數參數;
  • 調用P_FINISH宏;
  • 使用取出的這些參數調用我們實現的UMyBlueprintFunctionLibrary::Sum()函數;
  • “thunk”函數是一個包裝,它完成的核心任務就是處理藍圖虛擬機的Stack,然后調用我們使用C++實現的函數。

    我們還可以看一下UHT幫我們生成的另外一個文件:MyBlueprintFunctionLibrary.gen.cpp,在其中有這樣一段代碼:

    void UMyBlueprintFunctionLibrary::StaticRegisterNativesUMyBlueprintFunctionLibrary(){UClass* Class = UMyBlueprintFunctionLibrary::StaticClass();static const FNameNativePtrPair Funcs[] = {{ "Sum", &UMyBlueprintFunctionLibrary::execSum },};FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, ARRAY_COUNT(Funcs));}

    這段代碼把剛才"MyBlueprintFunctionLibrary.generated.h"中聲明的excSum函數注冊到了UMyBlueprintFunctionLibrary::StaticClass()這個UClass對象之中,并指定它的名字為“Sum”,也就是我們原始C++代碼中聲明的函數名,也是在藍圖編輯器中顯示的名字。

    看清楚了什么是“thunk函數”,“CustomThunk函數”也就不言自明了。在UFUNCTION中指定“CustomThunk”標識符,就是告訴UHT,不要在.generated.h中生成DECLARE_FUNCTION那部分代碼,這部分代碼改由手寫。為啥要拋棄自動生成,而手寫呢?回到本文主題:要實現“參數類型通配符”(或者叫做“藍圖模板節點”),就必須手寫thunk!

    藍圖Stack探索

    要實現自己的thunk函數,核心任務就是“準確的處理藍圖虛擬機的棧”,可惜的是官方并沒有這方面的文檔!下面我就把自己的一些探索記錄下來,請大家指正。

    以上面的int Sum(int a, int b)函數為例,thunk函數使用P_GET_PROPERTY宏從Stack取值,這個宏P_GET_PROPERTY(UIntProperty,Z_Param_a)展開之后的代碼如下所示:

    UIntProperty::TCppType Z_Param_a = UIntProperty::GetDefaultPropertyValue();Stack.StepCompiledIn<UIntProperty>(&Z_Param_a);

    其中UIntProperty派生自TProperty_Numeric<int32>,UIntProperty::TCppType就是“int32”無疑!

    我們還需要處理TArray<MyStruct>這樣的數據,所以我們重點要看一下這種參數類型的棧處理。
    假設我們有一個C++的UStruct:

    USTRUCT(Blueprintable) struct FMyStruct {GENERATED_USTRUCT_BODY()UPROPERTY(EditAnywhere, BlueprintReadWrite)FString Name;UPROPERTY(EditAnywhere, BlueprintReadWrite)int Value; };

    類似這樣一個UFUNCTION:

    UFUNCTION(BlueprintCallable) static void PrintMyStructArray(const TArray<FMyStruct>& MyStructArray);

    則在.h中的thunk函數為:

    DECLARE_FUNCTION(execPrintMyStructArray) \{ \P_GET_TARRAY_REF(FMyStruct,Z_Param_Out_MyStructArray); \P_FINISH; \P_NATIVE_BEGIN; \UMyBlueprintFunctionLibrary::PrintMyStructArray(Z_Param_Out_MyStructArray); \P_NATIVE_END; \} \

    其中P_GET_TARRAY_REF(FMyStruct,Z_Param_Out_MyStructArray);這個宏展開之后的代碼為:

    PARAM_PASSED_BY_REF(Z_Param_Out_MyStructArray, UArrayProperty, TArray<FMyStruct>)

    最終展開為:

    TArray<FMyStruct> Z_Param_Out_MyStructArrayTemp; TArray<FMyStruct>& Z_Param_Out_MyStructArray = Stack.StepCompiledInRef<UArrayProperty, TArray<FMyStruct> >(&Z_Param_Out_MyStructArrayTemp);

    綜合上面兩個例子,我們發現核心操作都是調用template<class TProperty> void FFrame::StepCompiledIn(void*const Result)這個模板函數。通過跟蹤這個函數的執行,發現它實際調用了UObject::execInstanceVariable()函數。

  • 更新"FFrame::PropertyChainForCompiledIn"這個成員變量;
  • 使用更新后的“FFrame::PropertyChainForCompiledIn”值,更新了"FFrame::MostRecentPropertyAddress"成員變量。
  • 再結合引擎中CustomThunk函數的實現源碼,可以得出這樣的結論:

  • 通過調用Stack.StepCompiledIn()函數,就可以更新藍圖虛擬機的棧頂指針;

  • Stack.MostRecentPropertyAddress和Stack.MostRecentProperty這兩個變量,就是當前參數值的內存地址和反射信息。

  • 有了具體變量的內存地址和類型的反射信息,就足夠做很多事了。下面我們就開始實踐。

    實踐1:接受任意UStruct類型參數

    下面我們就看一下文章開頭的這張圖里面的藍圖節點“Show Struct Fields”是如何接受任意類型UStruct參數的。

    先上代碼, BlueprintWildcardLibrary.h

    USTRUCT(BlueprintInternalUseOnly) struct FDummyStruct {GENERATED_USTRUCT_BODY()};UCLASS() class UNREALCOOKBOOK_API UBlueprintWildcardLibrary : public UBlueprintFunctionLibrary {GENERATED_BODY()public:UFUNCTION(BlueprintCallable, CustomThunk, Category = "MyDemo", meta = (CustomStructureParam = "CustomStruct"))static void ShowStructFields(const FDummyStruct& CustomStruct);static void Generic_ShowStructFields(const void* StructAddr, const UStructProperty* StructProperty);DECLARE_FUNCTION(execShowStructFields) {Stack.MostRecentPropertyAddress = nullptr;Stack.MostRecentProperty = nullptr;Stack.StepCompiledIn<UStructProperty>(NULL);void* StructAddr = Stack.MostRecentPropertyAddress;UStructProperty* StructProperty = Cast<UStructProperty>(Stack.MostRecentProperty);P_FINISH;P_NATIVE_BEGIN;Generic_ShowStructFields(StructAddr, StructProperty);P_NATIVE_END;} };

    BlueprintWildcardLibrary.cpp

    #include "BlueprintWildcardLibrary.h" #include "Engine/Engine.h"void UBlueprintWildcardLibrary::Generic_ShowStructFields(const void* StructAddr, const UStructProperty* StructProperty) {UScriptStruct* Struct = StructProperty->Struct;for (TFieldIterator<UProperty> iter(Struct); iter; ++iter) {FScreenMessageString NewMessage;NewMessage.CurrentTimeDisplayed = 0.0f;NewMessage.Key = INDEX_NONE;NewMessage.DisplayColor = FColor::Blue;NewMessage.TimeToDisplay = 5;NewMessage.ScreenMessage = FString::Printf(TEXT("Property: [%s].[%s]"),*(Struct->GetName()),*(iter->GetName()));NewMessage.TextScale = FVector2D::UnitVector;GEngine->PriorityScreenMessages.Insert(NewMessage, 0);} }

    解釋一下這段代碼:

  • 首先聲明了一個UFunction:static void ShowStructFields(const FDummyStruct& CustomStruct);,其參數類型是“FDummyStruct”,這只是一個占位符;
  • 在UFUNCTION宏里面指定“CustomThunk”和“CustomStructureParam”;
  • 實現一個execShowStructFields函數。這個函數很簡單,主要是處理藍圖的Stack,從中取出需要的參數,然后對用C++的實現;
  • 具體功能實現在:static void Generic_ShowStructFields(const void* StructAddr, const UStructProperty* StructProperty)這個函數中。
  • 實踐2:對數組中的Struct的數值型求平均

    下面我們再來一下文章開頭的這張圖里面的“Array Numeric Field Average”藍圖節點是如何通過“CustomThunk”函數來實現的。

    參照引擎源代碼,我定義了這樣一個宏,用來從棧上取出泛型數組參數,并正確的移動棧指針:

    #define P_GET_GENERIC_ARRAY(ArrayAddr, ArrayProperty) Stack.MostRecentProperty = nullptr;\Stack.StepCompiledIn<UArrayProperty>(NULL);\void* ArrayAddr = Stack.MostRecentPropertyAddress;\UArrayProperty* ArrayProperty = Cast<UArrayProperty>(Stack.MostRecentProperty);\if (!ArrayProperty) { Stack.bArrayContextFailed = true; return; }

    通過這個宏,可以得到兩個局部變量:

    • void* ArrayAddr: 數組的起始內存地址;
    • UArrayProperty* ArrayProperty: 數組的反射信息,ArrayProperty->Inner就是數組成員對應的類型了;

    有了這個宏,我們就可以很方便的寫出thunk函數了:

    DECLARE_FUNCTION(execArray_NumericPropertyAverage) {// get TargetArrayP_GET_GENERIC_ARRAY(ArrayAddr, ArrayProperty);// get PropertyNameP_GET_PROPERTY(UNameProperty, PropertyName);P_FINISH;P_NATIVE_BEGIN;*(float*)RESULT_PARAM = GenericArray_NumericPropertyAverage(ArrayAddr, ArrayProperty, PropertyName);P_NATIVE_END;}

    經過以上的準備,我們就已經可以正確的處理“泛型數組”了。下一步就是對這個數組中指定的數“值類型成員變量”求均值了,這主要依靠Unreal的反射信息,一步步抽絲剝繭,找到數組中的每個變量即可。反射系統的使用不是本文的重點,先看完整代碼吧。

    BlueprintWildcardLibrary.h

    #pragma once#include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "BlueprintWildcardLibrary.generated.h"#define P_GET_GENERIC_ARRAY(ArrayAddr, ArrayProperty) Stack.MostRecentProperty = nullptr;\Stack.StepCompiledIn<UArrayProperty>(NULL);\void* ArrayAddr = Stack.MostRecentPropertyAddress;\UArrayProperty* ArrayProperty = Cast<UArrayProperty>(Stack.MostRecentProperty);\if (!ArrayProperty) { Stack.bArrayContextFailed = true; return; }UCLASS() class UNREALCOOKBOOK_API UBlueprintWildcardLibrary : public UBlueprintFunctionLibrary {GENERATED_BODY()public:UFUNCTION(BlueprintPure, CustomThunk, meta = (DisplayName = "Array Numeric Property Average", ArrayParm = "TargetArray", ArrayTypeDependentParams = "TargetArray"), Category = "MyDemo")static float Array_NumericPropertyAverage(const TArray<int32>& TargetArray, FName PropertyName);static float GenericArray_NumericPropertyAverage(const void* TargetArray, const UArrayProperty* ArrayProperty, FName ArrayPropertyName);public:DECLARE_FUNCTION(execArray_NumericPropertyAverage) {// get TargetArrayP_GET_GENERIC_ARRAY(ArrayAddr, ArrayProperty);// get PropertyNameP_GET_PROPERTY(UNameProperty, PropertyName);P_FINISH;P_NATIVE_BEGIN;*(float*)RESULT_PARAM = GenericArray_NumericPropertyAverage(ArrayAddr, ArrayProperty, PropertyName);P_NATIVE_END;} };

    BlueprintWildcardLibrary.cpp

    #include "BlueprintWildcardLibrary.h" #include "Engine/Engine.h"float UBlueprintWildcardLibrary::Array_NumericPropertyAverage(const TArray<int32>& TargetArray, FName PropertyName) {// We should never hit these! They're stubs to avoid NoExport on the class. Call the Generic* equivalent insteadcheck(0);return 0.f; }float UBlueprintWildcardLibrary::GenericArray_NumericPropertyAverage(const void* TargetArray, const UArrayProperty* ArrayProperty, FName PropertyName) {UStructProperty* InnerProperty = Cast<UStructProperty>(ArrayProperty->Inner);if (!InnerProperty) {UE_LOG(LogTemp, Error, TEXT("Array inner property is NOT a UStruct!"));return 0.f;}UScriptStruct* Struct = InnerProperty->Struct;FString PropertyNameStr = PropertyName.ToString();UNumericProperty* NumProperty = nullptr;for (TFieldIterator<UNumericProperty> iter(Struct); iter; ++iter) {if (Struct->PropertyNameToDisplayName(iter->GetFName()) == PropertyNameStr) {NumProperty = *iter;break;}}if (!NumProperty) {UE_LOG(LogTemp, Log, TEXT("Struct property NOT numeric = [%s]"),*(PropertyName.ToString()));}FScriptArrayHelper ArrayHelper(ArrayProperty, TargetArray);int Count = ArrayHelper.Num();float Sum = 0.f;if(Count <= 0)return 0.f;if (NumProperty->IsFloatingPoint())for (int i = 0; i < Count; i++) {void* ElemPtr = ArrayHelper.GetRawPtr(i);const uint8* ValuePtr = NumProperty->ContainerPtrToValuePtr<uint8>(ElemPtr);Sum += NumProperty->GetFloatingPointPropertyValue(ValuePtr);}else if (NumProperty->IsInteger()) {for (int i = 0; i < Count; i++) {void* ElemPtr = ArrayHelper.GetRawPtr(i);const uint8* ValuePtr = NumProperty->ContainerPtrToValuePtr<uint8>(ElemPtr);Sum += NumProperty->GetSignedIntPropertyValue(ValuePtr);}}// TODO: else if(enum類型)return Sum / Count; }

    總結

    以上是生活随笔為你收集整理的深入Unreal蓝图开发:实现蓝图模板函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    久久你懂得 | 最新国产视频 | 中文免费观看 | 97超碰网 | 亚洲视频精品 | 亚洲精品乱码久久久久久按摩 | 在线你懂的视频 | 天天搞夜夜骑 | 天天干天天摸 | 六月激情丁香 | 成人黄在线观看 | 色无五月| 中文字幕成人网 | 91香蕉视频在线 | 91免费视频黄 | 黄色网www | 成人资源在线 | 国产精品1区 | 黄色片网站免费 | 91精品国产一区 | 欧美午夜性生活 | 欧美地下肉体性派对 | 国内精品久久久久久久久久清纯 | 黄色三级在线观看 | 1区2区视频 | 黄色一级免费 | 日本激情动作片免费看 | 亚洲人成免费网站 | 免费看一级黄色大全 | 国产热re99久久6国产精品 | 婷婷.com| 成人精品一区二区三区中文字幕 | 国产无遮挡猛进猛出免费软件 | 色偷偷网站视频 | 久久亚洲国产精品 | 天天干天天看 | 精品一区二区在线播放 | 69亚洲乱 | 日韩欧美在线观看一区二区三区 | 69精品视频 | 狠狠操影视 | 狠狠色丁香久久综合网 | 黄色影院在线免费观看 | 麻豆影视在线播放 | 日韩乱色精品一区二区 | 成人亚洲免费 | 欧美一二区视频 | 99精品欧美一区二区三区黑人哦 | 99精品在线 | 日韩免费电影一区二区三区 | 成人黄色免费观看 | 在线亚洲午夜片av大片 | 亚洲国产中文在线观看 | 国产免费高清 | 玖玖玖国产精品 | 久久在线看 | av天天澡天天爽天天av | 免费在线观看成人小视频 | 久操视频在线免费看 | 久久99久久99精品免观看粉嫩 | 日韩精品专区在线影院重磅 | 97看片吧 | 波多野结依在线观看 | 国产高清一级 | 国产在线国产 | 91久久久久久国产精品 | av一级久久 | 国产理论影院 | 91久久人澡人人添人人爽欧美 | 欧美日韩成人一区 | 国产不卡精品 | 在线观看福利网站 | 日韩免费观看一区二区三区 | 国产一区观看 | 在线性视频日韩欧美 | 美女视频黄免费的久久 | 婷婷国产在线观看 | 狠狠操夜夜操 | 国产亚洲精品无 | 色综合久久久久综合 | 欧美日韩二区在线 | 国产真实精品久久二三区 | 久艹在线免费观看 | 久久影院中文字幕 | 丰满少妇在线观看网站 | 免费高清在线观看成人 | 午夜视频在线观看一区二区 | 菠萝菠萝在线精品视频 | 亚洲国产精品人久久电影 | 9999精品视频| 伊人国产在线观看 | 伊人网av| 韩国三级av在线 | 午夜性生活 | 久久精品免费播放 | 日本精品一区二区三区在线播放视频 | 九九免费在线观看 | 亚洲永久国产精品 | 免费福利小视频 | 欧美 亚洲 另类 激情 另类 | 天天综合网在线 | 日韩欧美在线中文字幕 | 国产精品九九久久久久久久 | 日日日日| 天天干,天天干 | 日韩高清免费无专码区 | 中文字幕网站视频在线 | 精品国产区 | 最新久久免费视频 | 午夜精品久久久久久久99 | 中文在线a√在线 | 久久福利| 成人免费观看视频大全 | 精品国产黄色片 | 2019中文在线观看 | 国产69精品久久久久99 | 日韩在线观看中文字幕 | 99热国产精品 | 日韩一区二区免费在线观看 | 黄色福利网 | 亚洲精品乱码久久久久久 | 午夜美女wwww | 一区在线免费观看 | 久久免费视频国产 | 久久视频在线观看免费 | 怡红院av久久久久久久 | 国产精品6999成人免费视频 | 91日本在线播放 | 九九色视频 | 成人网中文字幕 | 欧美a级成人淫片免费看 | 国产精品久久久久久久免费观看 | 国产三级午夜理伦三级 | 国产999精品久久久影片官网 | 成人免费视频网站 | 久久精选视频 | 日日碰狠狠躁久久躁综合网 | 日韩一区二区三区在线观看 | 欧美日韩国产色综合一二三四 | 超碰免费久久 | 亚洲综合视频在线 | 人人澡超碰碰97碰碰碰软件 | 午夜精品中文字幕 | 亚洲精品高清在线观看 | 免费手机黄色网址 | 日韩字幕在线 | 成人丁香花 | 日韩欧美精品一区二区三区经典 | 久久综合五月天婷婷伊人 | 九九热精品视频在线播放 | 黄色大全视频 | 日韩专区中文字幕 | 日韩91av | 粉嫩av一区二区三区四区 | 在线成人免费电影 | 久久成人欧美 | 国产毛片久久久 | 中文字幕在线观看第一区 | 国产国产人免费人成免费视频 | 久久99亚洲热视 | 日韩在线视频观看 | 在线视频你懂得 | 亚洲精品国产第一综合99久久 | 国产高清免费av | 久久久99精品免费观看乱色 | 日韩av在线免费播放 | 国产美女在线免费观看 | 91成人网页版 | 精品国产一二区 | 中文av不卡 | 久久成 | 日韩高清精品免费观看 | 人人爽人人爽人人爽人人爽 | 欧美在线久久 | 探花国产在线 | 国产中文字幕视频在线观看 | 国产手机视频在线播放 | 日韩精品中文字幕一区二区 | 亚洲精品视频免费在线观看 | 国产xxxxx在线观看 | 久久夜色精品国产欧美乱 | 成人app在线播放 | 国产精品久久久久久久久久三级 | 久草精品网 | 亚洲国产中文字幕在线观看 | 人成在线免费视频 | 一级免费看视频 | 欧美午夜精品久久久久久浪潮 | 亚洲国产精品第一区二区 | 久久综合免费视频 | 久久久视屏| 欧美亚洲成人免费 | 日韩精品久久一区二区 | 亚洲免费精品视频 | 日韩免费三级 | 日韩剧 | 九九国产精品视频 | 国产 色 | 精品一区二区三区久久 | 午夜精品一区二区三区在线观看 | 91av视频免费观看 | 91完整版观看 | 69视频在线 | 久久久久久久久久久免费视频 | 国产 日韩 中文字幕 | 91精品国产入口 | 右手影院亚洲欧美 | 六月久久婷婷 | 天天干天天插 | 色www免费视频 | 国产精品久久久久久a | 日韩欧美精品在线观看 | 国产一区不卡在线 | 日韩在线高清免费视频 | 欧美性春潮 | 成人h视频在线播放 | 夜夜爱av | 一本一本久久a久久精品综合妖精 | 国产女人40精品一区毛片视频 | 欧美孕妇视频 | 成人免费91| 久久无码av一区二区三区电影网 | 超碰97免费在线 | 一区二区三区日韩在线观看 | 91丨九色丨国产丨porny精品 | 激情五月激情综合网 | 色吧av色av| 色婷婷播放 | 五月婷婷色丁香 | 爱色av.com| 天堂激情网 | 在线观看免费国产小视频 | 欧美伦理一区 | 中文字幕av免费在线观看 | 三级av片| 麻豆国产在线播放 | 亚洲麻豆精品 | 天天干夜夜 | 中文字幕在线免费看线人 | 欧美日韩91| 亚洲精品美女在线观看播放 | 久久久精品视频网站 | 中文字幕成人网 | 免费久久网 | 国产精品国产三级国产aⅴ无密码 | 亚洲91精品在线观看 | 香蕉网址 | www色网站| 免费观看一级 | 日韩欧美xxxx | 亚洲综合精品在线 | 亚洲视频免费在线观看 | 亚洲国产视频在线 | 国产精品日韩欧美 | 日韩免| 在线综合 亚洲 欧美在线视频 | 国产日产av | 精品欧美一区二区精品久久 | 狠狠躁18三区二区一区ai明星 | www亚洲精品 | 天天精品视频 | 91精品影视 | 亚洲精品国产精品国 | 日本在线中文 | 国产九九精品视频 | 久久久久免费精品国产 | 精品伊人久久久 | 在线观看免费黄视频 | 97视频免费在线看 | 天天射夜夜爽 | 亚州国产精品 | 欧美亚洲国产一卡 | 亚洲国产成人在线 | 麻豆va一区二区三区久久浪 | 国产福利电影网址 | 经典三级一区 | 日韩av一卡二卡三卡 | 免费无遮挡动漫网站 | 在线播放亚洲激情 | 日韩高清网站 | 91中文字幕网 | 91视频久久久久久 | 国产免费美女 | 国内久久久 | 国产精品中文在线 | av电影免费在线看 | 午夜精品视频免费在线观看 | 91在线精品秘密一区二区 | 99综合影院在线 | 91最新视频在线观看 | 国产精品免费不 | 亚洲一区二区三区miaa149 | 亚洲乱码精品久久久 | 婷婷伊人综合 | 亚洲国产wwwccc36天堂 | 久久精品视频在线 | 黄色免费网 | 成人国产精品一区二区 | 日本韩国在线不卡 | 久久久久久久久久影院 | 成人高清在线观看 | 婷婷丁香花五月天 | 久久免费看毛片 | 久久久久久久久久久久久久免费看 | 在线观看亚洲电影 | 美女免费视频一区 | 人人爽久久久噜噜噜电影 | 亚洲视频 视频在线 | 久久99精品国产91久久来源 | 黄色精品一区二区 | 国产亚洲成av人片在线观看桃 | 久久伊99综合婷婷久久伊 | 综合网在线视频 | 97在线超碰 | 亚洲激情校园春色 | 91福利视频一区 | 欧美日韩一区二区三区在线免费观看 | 国产999视频在线观看 | 亚洲一级二级 | 国产精品久久久久久久久久 | 精品国产自在精品国产精野外直播 | 天天干天天操 | 久爱精品在线 | 亚洲精品大全 | 午夜12点 | 狠狠操91 | 日韩和的一区二在线 | 最近中文字幕高清字幕在线视频 | 日韩免费成人 | 国产1区2 | 亚洲国产午夜精品 | 日韩激情影院 | 婷婷视频| 亚洲精品在线免费看 | 成年人黄色免费视频 | 美国av大片 | 国产午夜精品av一区二区 | 91久久影院| 日本视频久久久 | 黄色免费国产 | 久久久久久久久久免费视频 | 久久久精品国产一区二区 | 亚洲欧美成人在线 | 人人看人人爱 | 又湿又紧又大又爽a视频国产 | 嫩模bbw搡bbbb搡bbbb | 欧美黑人巨大xxxxx | 国产精品高潮久久av | 又黄又色又爽 | 最近日韩中文字幕中文 | 三级av小说| 99精品视频免费看 | 亚洲综合视频在线 | 国产一区二区三区四区大秀 | 91传媒在线播放 | 欧美视频在线观看免费网址 | 九七视频在线 | 国产精品理论片在线观看 | 在线播放 日韩专区 | 2019中文字幕第一页 | 男女啪啪免费网站 | 91视频黄色 | 国产黄色成人 | 人人爽人人爽人人片av免 | 欧美日韩午夜爽爽 | 97免费中文视频在线观看 | 久久久久久久久综合 | 日本天天操 | 97色婷婷成人综合在线观看 | 草莓视频在线观看免费观看 | 久久综合干 | 国产在线日韩 | 亚洲色影爱久久精品 | 国产精品毛片久久久久久久久久99999999 | 免费涩涩网站 | 99久久精品一区二区成人 | www91在线 | 99热播精品| 亚洲黄色高清 | 人人爽爽人人 | 色香蕉在线 | 超级碰碰免费视频 | 欧美a√在线 | 黄色www在线观看 | 极品久久久久 | 国产专区在线视频 | 日韩一区二区三区免费视频 | 成人高清在线观看 | 欧美亚洲一区二区在线 | 免费看的国产视频网站 | 久久精品99国产精品日本 | 久久 精品一区 | 欧美天堂久久 | 国产亚洲精品中文字幕 | 久久综合之合合综合久久 | 波多野结衣视频一区二区三区 | 9久久精品 | 久久精品—区二区三区 | 精品国产91亚洲一区二区三区www | 91视频免费看 | 日韩有码中文字幕在线 | 亚洲精品在线观看中文字幕 | 亚洲精品中文字幕视频 | 国产精品一区二区精品视频免费看 | 天天色天天爱天天射综合 | 91在线视频免费播放 | 亚洲免费资源 | 国产麻豆剧果冻传媒视频播放量 | 精品国产精品一区二区夜夜嗨 | 五月天婷亚洲天综合网鲁鲁鲁 | av久久在线 | 国内精品久久久久久久影视麻豆 | 992tv在线成人免费观看 | 91女子私密保健养生少妇 | 最近更新中文字幕 | 久久这里只有精品首页 | 国产原厂视频在线观看 | 久久美女免费视频 | 国产在线看 | 成人91av| 免费精品在线观看 | 狠狠躁夜夜av | 狠狠色丁香婷婷综合久小说久 | 天天久久综合 | 中文字幕一区二区三区在线视频 | 免费在线一区二区 | 中文字幕高清在线播放 | 久久免费视频这里只有精品 | 国产视频中文字幕 | 亚洲年轻女教师毛茸茸 | 8x成人免费视频 | 美州a亚洲一视本频v色道 | 五月激情天 | 久久午夜影院 | 日韩欧美成 | 2019中文最近的2019中文在线 | 精品国产午夜 | 中文字幕资源网在线观看 | www.五月婷 | 99久久国产免费看 | 中文字幕久久精品亚洲乱码 | 一区二区精品国产 | 日日夜夜天天综合 | 日本中文字幕在线电影 | 激情婷婷在线 | 亚洲高清在线 | 国产成人三级在线 | 久热久草在线 | 精品欧美一区二区三区久久久 | av网址最新 | 国产成人61精品免费看片 | 欧美成人基地 | 国产精品久久久久aaaa | 久久久黄色 | 久久久免费av | 欧美a视频 | 国产午夜三级一区二区三桃花影视 | 久久超碰97 | a黄色影院| 成人黄色电影在线播放 | 日日操夜夜操狠狠操 | 网站在线观看你们懂的 | 中文字幕在 | 久草在线手机视频 | 国产99在线| 最近日本韩国中文字幕 | 国产一区二区在线免费视频 | 麻豆视频大全 | 日韩一级网站 | 毛片永久新网址首页 | 国产精品美女久久久久aⅴ 干干夜夜 | 久久9999久久免费精品国产 | 韩国av一区二区三区在线观看 | 特级西西444www大胆高清无视频 | 亚洲做受高潮欧美裸体 | 日本公妇色中文字幕 | 亚洲精品国产精品国自产 | 一区二三国产 | 亚洲三级黄色 | 亚洲国产最新 | 成人a免费| 毛片视频电影 | 超碰国产在线播放 | 91成人精品观看 | 91 在线视频播放 | 色天天综合久久久久综合片 | 亚洲国产午夜精品 | 久艹视频在线免费观看 | 欧美淫aaa免费观看 日韩激情免费视频 | 国产精品18p | 一本一本久久a久久 | 国产福利精品视频 | 欧美午夜精品久久久久 | 一区二区中文字幕在线观看 | 亚洲欧洲日韩 | www.夜色.com| 91大神视频网站 | 天天操天天玩 | 四川妇女搡bbbb搡bbbb搡 | 99热播精品 | 99久久99久久精品国产片果冰 | 欧美日韩精品电影 | 婷婷开心久久网 | 国产精品久久在线观看 | 在线观看深夜福利 | 免费精品 | 91九色最新地址 | 999免费视频 | 免费电影一区二区三区 | 最近乱久中文字幕 | 六月丁香激情综合色啪小说 | 二区三区在线 | 欧美日韩二区在线 | 亚洲国产剧情av | 亚洲aⅴ免费在线观看 | 国产精品久久久久永久免费看 | 国产91免费看 | 日韩免费三区 | 久久久久综合精品福利啪啪 | 九色精品免费永久在线 | 亚洲国产中文字幕在线观看 | 日韩色综合网 | www.日韩免费 | 久久综合久久八八 | 九九免费精品视频在线观看 | 蜜臀91丨九色丨蝌蚪老版 | 456成人精品影院 | 久久久精品影视 | 波多野结衣在线视频一区 | 久久久免费精品视频 | 激情文学综合丁香 | 深夜激情影院 | 国产精品美女久久久久久久久 | 婷婷六月色 | 国产一区二区综合 | 久久影院午夜论 | 精品1区2区3区 | 99在线免费视频观看 | 午夜电影 电影 | 久久精品欧美视频 | 美女一二三区 | 91色欧美| 日韩剧情 | av观看网站 | 日韩 在线a | 欧美日韩在线观看一区二区 | 免费福利视频网站 | 欧美视屏一区二区 | 在线观看中文av | 天天爽天天碰狠狠添 | 欧美日韩国产二区 | 日本久久久久久久久久久 | 欧美日韩xxxxx | 一本一本久久a久久精品综合 | 91天天操 | 99久久99久久精品国产片 | 久操久 | 天天射天天操天天 | 国产精品区免费视频 | 国产精品毛片一区二区三区 | 久久成人18免费网站 | 丝袜美女在线观看 | 91在线看视频 | 亚洲精品无 | 97国产一区二区 | 久久er99热精品一区二区 | 欧美午夜精品久久久久久孕妇 | 在线综合 亚洲 欧美在线视频 | 国产伦理一区二区 | 国产亚洲久久 | 91麻豆网| 欧美巨乳网 | 久久精品久久久久电影 | 国产最顶级的黄色片在线免费观看 | 在线va网站 | 在线观看欧美成人 | 日批视频在线播放 | 中文字幕一区二区三区四区久久 | 99免费在线视频观看 | 玖玖视频在线 | 91在线区 | 午夜三级影院 | 日韩精品视频一二三 | 国产精品高清免费在线观看 | 麻豆传媒视频观看 | 亚洲国产精品女人久久久 | 日本精油按摩3 | 欧美精品久久人人躁人人爽 | 韩日电影在线观看 | 免费av电影网站 | 成年人免费电影在线观看 | 欧美aa一级 | 亚洲日本一区二区在线 | 久久久久久看片 | 久久乐九色婷婷综合色狠狠182 | 99久久这里有精品 | 精品久久久久久久久久久久 | 日韩在线一区二区免费 | 九九色视频 | av成年人电影 | 亚洲精品在线国产 | 国产成人精品在线 | 国产精品丝袜久久久久久久不卡 | 国产精品自产拍在线观看网站 | 国产精品手机在线 | 中文免费在线观看 | 91久久精品一区 | 五月天综合在线 | 国产精品亚洲综合久久 | 麻豆91精品91久久久 | 婷婷六月天丁香 | 免费色av | 91最新在线 | 久久 在线 | 亚洲高清激情 | 色干干 | 国产精品一区二区三区在线看 | 久久久久久久久久免费 | 992tv人人网tv亚洲精品 | 成人国产电影在线观看 | 久草在线电影网 | 在线成人免费av | 色com | 久久久wwww| 国际av在线 | 免费视频一二三区 | 日韩欧美国产视频 | 久久精品首页 | 久久久久久久久久久国产精品 | 久久精品国产99国产 | 91九色视频在线观看 | 色综合色综合色综合 | 日韩一区二区三区在线看 | 国产女人18毛片水真多18精品 | 99精品国产99久久久久久97 | 狠狠狠狠狠狠干 | 日本性xxxxx 亚洲精品午夜久久久 | 日韩黄色av网站 | 婷婷色影院 | 91精品视频在线 | 国产精品第7页 | 蜜桃av人人夜夜澡人人爽 | 久久精品视频一 | 91亚洲精品乱码久久久久久蜜桃 | 国产精品麻豆一区二区三区 | 久草在线中文888 | 91av在线视频免费观看 | www日韩欧美 | 999久久久免费视频 午夜国产在线观看 | 亚洲精品在线视频网站 | 97小视频 | 五月激情丁香 | 成人一级在线 | 91看片淫黄大片一级在线观看 | 色在线亚洲 | 成人综合婷婷国产精品久久免费 | 综合色在线观看 | 日韩精品一区二区免费 | 色播五月激情五月 | 亚洲激情 欧美激情 | 亚洲va韩国va欧美va精四季 | 国产成人精品一区在线 | 午夜10000| 精品国产亚洲日本 | 免费a v在线 | 香蕉视频在线看 | 在线观看亚洲精品 | 成人一级免费视频 | 韩国精品一区二区三区六区色诱 | www.99av| 综合色站导航 | 日韩高清www | 日本护士撒尿xxxx18 | 久草视频免费在线播放 | 在线看国产精品 | 国产精品婷婷午夜在线观看 | 欧美日韩视频在线播放 | 九九九在线 | 在线观看中文字幕视频 | 好看av在线| 欧美乱码精品一区 | 天天综合人人 | 国产玖玖精品视频 | 久久久久久久久久久成人 | 在线播放国产一区二区三区 | 精品久久毛片 | 日韩理论| 色婷婷激情五月 | 久久久久久久国产精品 | 免费成人黄色片 | 国产中文字幕视频在线 | 在线欧美国产 | 午夜精品一区二区三区可下载 | 综合激情婷婷 | 中文字幕免费观看全部电影 | 在线观看小视频 | 久久亚洲欧美 | 在线国产视频一区 | 99在线精品视频观看 | av网址aaa | 成人av在线一区二区 | 成人资源在线 | 成人av在线资源 | 日韩字幕在线观看 | 亚洲一二三区精品 | 狠狠色丁香久久婷婷综合丁香 | 国产在线精 | 激情av资源 | 福利一区在线 | 日韩a级免费视频 | www色片| 亚洲欧美乱综合图片区小说区 | 日韩免费在线一区 | 国产精品美女久久久久久久久久久 | 激情狠狠干 | 免费在线观看av | 国产精品久久久久久久7电影 | 99视频免费播放 | 国产精品美女www爽爽爽视频 | 狠狠操天天射 | 日韩黄色免费在线观看 | 五月婷av| 91网免费观看 | 日韩视频一区二区三区在线播放免费观看 | 国产麻豆精品久久一二三 | 一个色综合网站 | 日韩欧美在线观看一区二区 | 99re视频在线观看 | 精品视频久久久久久 | 国产日韩在线播放 | 国产在线观看你懂的 | 精品国产成人在线影院 | 久久av中文字幕片 | 一区二区三区在线免费播放 | 手机成人在线 | 精品 激情| 极品嫩模被强到高潮呻吟91 | 丁五月婷婷 | 国产婷婷精品 | 午夜精品久久久久久99热明星 | 欧洲色综合 | 不卡电影免费在线播放一区 | 免费看一级黄色 | 久久精品视频4 | 日韩电影一区二区在线观看 | 欧美日韩精品在线播放 | 一区二区三区精品在线视频 | 丁香影院在线 | 9999精品 | 色激情在线 | 亚洲国产精品女人久久久 | 久久国产精品99久久久久久丝袜 | 欧美日韩国产区 | 欧美在线视频一区二区三区 | 国产精品美女免费视频 | 国产91精品高清一区二区三区 | www.久热 | 婷婷精品在线视频 | 日本黄色免费在线 | 久久久久久久久久久久99 | 五月婷婷开心中文字幕 | 999久久久精品视频 日韩高清www | 国产高清专区 | 中文字幕久久网 | 麻豆视频免费看 | 亚洲成a人片在线www | 欧美尹人| 日韩在线观看视频一区二区三区 | 视频在线99 | 国产精品久久综合 | 欧美怡红院视频 | 欧美日韩一区久久 | 国产在线观看二区 | 中文综合在线 | 黄色的网站免费看 | 免费高清看电视网站 | 欧美日产在线观看 | 日本久久久久 | 亚洲第一成网站 | 国产91精品看黄网站 | 久久精品99久久久久久 | 女人18毛片a级毛片一区二区 | 91桃色免费观看 | 久久久精品免费观看 | 国产伦精品一区二区三区高清 | 日本在线精品视频 | 国产精品女人久久久 | 国产三级国产精品国产专区50 | 四虎在线观看精品视频 | 一区二区三区四区五区六区 | 久久精品99国产 | 黄色国产在线观看 | 性色xxxxhd| 久久草 | 国产麻豆电影在线观看 | 久久国产美女 | 免费的成人av | 国产麻豆精品免费视频 | 国内成人av | 欧美另类xxx| 国产亚洲精品电影 | 91在线资源| 丁香五月网久久综合 | 亚洲视频999 | 国产精品国产三级国产不产一地 | 五月综合在线观看 | 国产自产在线视频 | 婷婷网站天天婷婷网站 | 欧美精品久 | 最新黄色av网址 | 日韩欧美在线视频一区二区三区 | 波多野结衣一区二区三区中文字幕 | 日日干日日 | 国产色在线,com | 日韩免费中文字幕 | av电影亚洲 | 一级成人网 | 国产69精品久久久久久 | 久久久九色精品国产一区二区三区 | 亚洲综合色视频 | 精品久久久久国产免费第一页 | 免费看黄色大全 | 国产视频亚洲精品 | 欧美孕妇与黑人孕交 | 国产美女久久久 | 制服丝袜在线 | 日韩美视频| 国产精品手机在线观看 | 日韩高清在线一区 | 欧美激情h| 天天干天天做 | 国产美女久久久 | 又黄又爽又无遮挡免费的网站 | 欧美日韩中文国产一区发布 | 99色 | 日本激情视频中文字幕 | 亚洲天天摸日日摸天天欢 | 热久久99这里有精品 | 一区二区三区久久精品 | 九色琪琪久久综合网天天 | 91九色网站 | 久久久官网 | 18pao国产成视频永久免费 | 久久久高清视频 | 精品视频久久久 | 日本在线观看中文字幕 | 青草视频网 | 在线中文字幕电影 | 欧美午夜精品久久久久久浪潮 | 日韩成人精品一区二区三区 | 91热爆在线观看 | 国产精品观看 | 国产午夜精品一区二区三区嫩草 | 在线免费高清一区二区三区 | 日韩欧美国产免费播放 | 国产成人精品一区一区一区 | 成人91视频| 在线91视频 | 日韩色高清 | 99在线观看视频 | 久久视频精品在线观看 | 久久视频这里有久久精品视频11 | www黄色com| 久久国产精品视频观看 | 在线观看视频精品 | 一级片视频免费观看 | 欧美精品乱码久久久久久 | 午夜视频黄 | 99精品欧美一区二区 | 91成年视频| 久久综合网色—综合色88 | 国内精品视频在线 | 毛片一区二区 | 波多野结衣网址 | 国产精品久久久久久久久久三级 | 久草网视频在线观看 | 欧美激情精品一区 | 粉嫩av一区二区三区入口 | 二区三区精品 | 最新av在线播放 | 丁香六月网 | 五月婷在线观看 | 狠狠色丁香婷婷综合橹88 | 在线观看你懂的网站 | 色在线观看网站 | 亚洲精品久久久蜜臀下载官网 | 久草www | 午夜精品久久久99热福利 | 激情五月婷婷丁香 | 精品视频www | 久久久久国产精品厨房 | 国产一区国产精品 | 手机av电影在线 | 久久私人影院 | 99久久精品视频免费 | 免费看片网址 | 亚洲国产一二三 | 久草香蕉在线视频 | 亚洲综合色激情五月 | 日韩免费高清在线观看 | 久久 地址 | 婷婷色六月天 | 久色免费视频 | www.99在线观看| www在线免费观看 | 五月婷婷视频 | 日韩av在线网站 | 97成人精品 | 涩涩网站在线播放 | 国产一二三区在线观看 | 成人综合婷婷国产精品久久免费 | 在线a视频 | 丰满少妇在线观看资源站 | 超碰av在线 | 午夜久久久精品 | 又大又硬又黄又爽视频在线观看 | 日韩一区正在播放 | 亚洲激情综合 | 国产黄色片免费观看 | 国产专区在线看 | 亚洲精品美女在线观看 | 亚洲视频一区二区三区在线观看 | 亚洲精品福利在线 | 91大神免费在线观看 | 成人影视免费 | 国产精品12345 | 色国产精品 | 3d黄动漫免费看 | 激情网五月天 | 中文字幕精品一区二区三区电影 | 免费在线色视频 | 美女网站在线播放 | 久久精品国产成人 | 欧美日本不卡视频 | 国产午夜精品福利视频 | 国产精品第10页 | 日韩有码在线观看视频 | 亚洲精品一区二区三区高潮 | 国产在线观看网站 | 亚洲综合在线观看视频 | 91人人爽人人爽人人精88v | 日韩精品一区二区三区免费视频观看 | 久久一区二区三区超碰国产精品 | 999国产在线 | 黄色av电影 | 久久精品电影网 | 久章草在线 | 日韩免费一级电影 | 91福利免费 | 国产精品k频道 | a黄色一级| 久久国产精品99久久久久久老狼 | 在线看日韩 | 欧美精品一区二区在线观看 | 久久久久亚洲最大xxxx | 在线观看免费日韩 | 婷婷视频在线播放 | 免费在线国产精品 | 久久激五月天综合精品 | 狠狠干天天色 | 中文字幕123区 | 亚洲欧美在线视频免费 | 欧洲精品视频一区二区 | 国产在线精品国自产拍影院 | 日韩欧美精品在线 | 久久久久久久久久久黄色 | 久久伊人精品天天 | 久久久久国产成人精品亚洲午夜 | 国产亚洲欧美一区 | 玖玖爱国产在线 | 午夜精品久久久久久久久久久久 | 高清av在线免费观看 | 麻豆视频在线免费看 | 免费成人黄色 | 久久精品之 | 综合色久 | 亚洲第一伊人 | 亚洲电影久久久 | 欧美午夜理伦三级在线观看 | 婷婷丁香色 | 亚洲性xxxx | 九九久久影视 | 国产精品福利一区 | 精品91视频 | 草免费视频 | 国产日韩精品欧美 | 免费av 在线 | 久久国产欧美日韩精品 | 亚洲综合导航 | 伊人天堂久久 | 国产高清视频色在线www | 一区免费观看 | 美女久久久久久久久久久 | 欧美天天综合网 | 一区二区av | 美女免费视频一区二区 | 婷婷综合亚洲 | 深夜福利视频在线观看 |