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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cglib源码学习交流

發布時間:2025/3/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cglib源码学习交流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

??? 前段時間在工作中,包括一些代碼閱讀過程中,spring aop經常性的會看到cglib中的相關內容,包括BeanCopier,BulkBean,Enancher等內容,以前雖大致知道一些內容,原理是通過bytecode,但沒具體深入代碼研究,只知其所用不知其所以然,所以就特地花了半天多的工作時間研究了CGLIB的相關源碼,同時結合看了下 spring Aop中對CGLIB的使用。

cglib基本信息

  • cglib的官方網站:?http://cglib.sourceforge.net/
  • cglib目前的最新版本應該是2.2,公司普遍使用的版本也是這個
  • 官網的samples :?http://cglib.sourceforge.net/xref/samples/
  • cglib代碼包結構

    • core (核心代碼)
      • EmitUtils
      • ReflectUtils
      • KeyFactory
      • ClassEmitter/CodeEmitter
      • NamingPolicy/DefaultNamingPolicy
      • GeneratorStrategy/DefaultGeneratorStrategy
      • DebuggingClassWriter
      • ClassGenerator/AbstractClassGenerator
    • beans (bean操作類)
      • BeanCopier
      • BulkBean
      • BeanMap
      • ImmutableBean
      • BeanGenerator
    • reflect
      • FastClass
    • proxy
      • Enhancer
      • CallbackGenerator
      • Callback
        • MethodInterceptor?, Dispatcher, LazyLoader , ProxyRefDispatcher , NoOp , FixedValue , InvocationHandler(提供和jdk proxy的功能)
      • CallbackFilter
    • util
      • StringSwitcher?
      • ParallelSorter?
    • transform?

    core核心代碼部分

    EmitUtils

    重要的工具類,主要封裝了一些操作bytecode的基本函數,比如生成一個null_constructor,添加類屬性add_property等

    ReflectUtils

    處理jdk reflect的工具類,比如獲取一個類所有的Method,獲取構造函數信息等。

    ClassEmitter/CodeEmitter

    對asm的classAdapter和MethodAdapter的實現,貫穿于cglib代碼的處理

    KeyFactory

    類庫中重要的唯一標識生成器,用于cglib做cache時做map key,比較底層的基礎類。
    例子:

    interface?BulkBeanKey?{
    public?Object?newInstance(String?target,?String[]?getters,?String[]?setters,?String[]?types);
    }
    (BulkBeanKey)KeyFactory.create(BulkBeanKey.class).newInstance(targetClassName,?getters,?setters,?typeClassNames);



    說明:

    • 每個Key接口,都必須提供newInstance方法,但具體的參數可以隨意定義,通過newInstance返回的為一個唯一標示,只有當傳入的所有參數的equals都返回true時,生成的key才是相同的,這就相當于多key的概念。

    NamingPolicy

    默認的實現類:DefaultNamingPolicy, 具體cglib動態生成類的命名控制。
    一般的命名規則:

    • 被代理class name + "$$" + 使用cglib處理的class name + "ByCGLIB" + "$$" + key的hashcode
    • 示例:FastSource$$FastClassByCGLIB$$e1a36bab.class

    GeneratorStrategy

    默認的實現類: DefaultGeneratorStrategy
    控制ClassGenerator生成class的byte數據,中間可插入自己的處理。注意這里依賴了:DebuggingClassWriter進行class generator的處理

    DebuggingClassWriter

    cglib封裝asm的處理類,用于生成class的byte流,通過GeneratorStrategy回調ClassGenerator.generateClass(DebuggingClassWriter),將自定義的class byte處理回調給具體的cglib上層操作類,比如由具體的BeanCopier去控制bytecode的生成。

    ClassGenerator

    其中一個抽象實現:AbstractClassGenerator。cglib代碼中核心的Class bytecode操作主體,包含了一些cache,調用NamingPolicy,GeneratorStrategy進行處理,可以說是一個最核心的調度者。

    ?

    ?

    對應的類圖:

    ?

  • 外部的BeanCopier都包含了一Generator,繼承自AbstractClassGenerator,實現了generateClass(ClassVisitor v),Object firstInstance(Class type)方法。
  • AbstractClassGenerator自身會根據Source進行cache,所以針對已經生成過的class,這里KeyFactory對應的值要相等,則會直接返回cache中的結果。所以BeanCopier每次create慢只是每次都需要new兩個對象,一個是KeyFactory.newInstance,另一個是firstInstance方法調用生成一個對象。
  • 反編譯tips

    大家都知道cglib是進行bytecode操作,會動態生成class,最快最直接的學習就是結合他生成的class,對照代碼進行學習,效果會好很多。

    system.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY,?"指定輸出目錄"); 

    ?可參見 cores/DebuggingClassWriter代碼。說明:這樣cglib會將動態生成的每個class都輸出到文件中,然后我們可以通過decomp進行反編譯查看源碼。

    ?

    beans (相關操作類)

    BeanCopier

    簡單的示例代碼就不做介紹,相信大家都指導怎么用,這里主要介紹下Convert的使用。

    • 許多網友都做過BeanCopier,BeanUtils的測試,基本BeanCopier的性能是BeanUtils的10倍以上。,出了反射這一性能差異外,BeanUtils默認是開啟Converter功能,允許同名,不同類型的屬性進行拷貝,比如Date對象到String屬性。
    • 有興趣的同學可以去比較下PropertyUtils,默認不開啟Converter功能,發現性能是BeanUtils的2倍多。

    初始化例子:BeanCopier copier = BeanCopier.create(Source.class, Target.class, true);?
    第三個參數useConverter,是否開啟Convert,默認BeanCopier只會做同名,同類型屬性的copier,否則就會報錯。

    public?class?BeanCopierTest?{

    ????public?static?void?main(String?args[])?{
    ????????System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY,?"/tmp/1");
    ????????BeanCopier?copier?=?BeanCopier.create(Source.class,?Target.class,?true);
    ????????Source?from?=?new?Source();
    ????????from.setValue(1);

    ????????Target?to?=?new?Target();
    ????????Converter?converter?=?new?BigIntConverter();
    ????????copier.copy(from,?to,?converter);?//使用converter類

    ????????System.out.println(to.getValue());
    ????}
    }

    class?BigIntConverter?implements?net.sf.cglib.core.Converter?{

    ????@Override
    ????public?Object?convert(Object?value,?Class?target,?Object?context)?{
    ????????System.out.println(value.getClass()?+?"?"?+?value);?//?from類中的value對象
    ????????System.out.println(target);?//?to類中的定義的參數對象
    ????????System.out.println(context.getClass()?+?"?"?+?context);?//?String對象,具體的方法名
    ????????if?(target.isAssignableFrom(BigInteger.class))?{
    ????????????return?new?BigInteger(value.toString());
    ????????}?else?{
    ????????????return?value;
    ????????}
    ????}

    }
    ----
    反編譯后看的代碼:
    public?class?Target$$BeanCopierByCGLIB$$e1c34377?extends?BeanCopier
    {
    ????public?void?copy(Object?obj,?Object?obj1,?Converter?converter)
    ????{
    ????????Target?target?=?(Target)obj1;
    ????????Source?source?=?(Source)obj;
    ????????//?注意是直接調用,沒有通過reflect
    ????????target.setValue((BigInteger)converter.convert(new?Integer(source.getValue()),?CGLIB$load_class$java$2Emath$2EBigInteger,?"setValue"));?
    ????}
    }

    使用注意

  • 避免每次進行BeanCopier.create創建對象,一般建議是通過static BeanCopier copier = BeanCopier.create()
  • 合理使用converter。
  • 應用場景:兩個對象之間同名同屬性的數據拷貝,?不能單獨針對其中的幾個屬性單獨拷貝
  • BulkBean

    ???? 相比于BeanCopier,BulkBean將整個Copy的動作拆分為getPropertyValues,setPropertyValues的兩個方法,允許自定義處理的屬性。

    ?

    public?class?BulkBeanTest?{

    ????public?static?void?main(String?args[])?{
    ????????System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY,?"/home/ljh/cglib");
    ????????String[]?getter?=?new?String[]?{?"getValue"?};
    ????????String[]?setter?=?new?String[]?{?"setValue"?};
    ????????Class[]?clazzs?=?new?Class[]?{?int.class?};

    ????????BulkBean?bean?=?BulkBean.create(BulkSource.class,?getter,?setter,?clazzs);
    ????????BulkSource?obj?=?new?BulkSource();
    ????????obj.setValue(1);

    ????????Object[]?objs?=?bean.getPropertyValues(obj);
    ????????for?(Object?tmp?:?objs)?{
    ????????????System.out.println(tmp);
    ????????}
    ????}
    }
    class?BulkSource?{
    ????private?int?value;
    ????..
    }

    //?反編譯后的代碼: 
    ?public?void?getPropertyValues(Object?obj,?Object?aobj[])
    ????{
    ????????BulkSource?bulksource?=?(BulkSource)obj;
    ????????aobj[0]?=?new?Integer(bulksource.getValue());
    ????}
    ?

    ?

    ?

    使用注意

  • 避免每次進行BulkBean.create創建對象,一般建議是通過static BulkBean.create copier = BulkBean.create
  • 應用場景:針對特定屬性的get,set操作,一般適用通過xml配置注入和注出的屬性,運行時才確定處理的Source,Target類,只需關注屬性名即可。
  • BeanMap

    相比于BeanCopier,BulkBean,都是針對兩個Pojo Bean進行處理,那如果對象一個是Pojo Bean和Map對象之間,那就得看看BeanMap,將一個java bean允許通過map的api進行調用。
    幾個支持的操作接口:

    • Object get(Object key)
    • Object put(Object key, Object value)
    • void putAll(Map t)
    • Set entrySet()
    • Collection values()
    • boolean containsKey(Object key)
    • ....
    public?class?BeanMapTest?{

    ????public?static?void?main(String?args[])?{
    ????????//?初始化
    ????????BeanMap?map?=?BeanMap.create(new?Pojo());
    ????????//?構造
    ????????Pojo?pojo?=?new?Pojo();
    ????????pojo.setIntValue(1);
    ????????pojo.setBigInteger(new?BigInteger("2"));
    ????????//?賦值
    ????????map.setBean(pojo);
    ????????//?驗證
    ????????System.out.println(map.get("intValue"));
    ????????System.out.println(map.keySet());
    ????????System.out.println(map.values());
    ????}
    }

    class?Pojo?{

    ????private?int????????intValue;
    ????private?BigInteger?bigInteger;
    ????.
    }

    //反編譯代碼查看:
    //首先保存了所有的屬性到一個set中
    private?static?FixedKeySet?keys?=?new?FixedKeySet(new?String[]?{
    ????????"bigInteger",?"intValue"
    ????});
    public?Object?get(Object?obj,?Object?obj1)
    ????{
    ????????(Pojo)obj;
    ????????String?s?=?(String)obj1;
    ????????s;
    ????????s.hashCode();
    ????????JVM?INSTR?lookupswitch?2:?default?72
    ????//???????????????????-139068386:?40
    ????//???????????????????556050114:?52;
    ???????????goto?_L1?_L2?_L3
    _L2:
    ????????"bigInteger";
     //屬性判斷是否相等
    ????????equals();
    ????????JVM?INSTR?ifeq?73;
    ???????????goto?_L4?_L5
    _L5:
    ????????break?MISSING_BLOCK_LABEL_73;
    _L4:
    ????????getBigInteger();
    ????????return;
    _L3:

    .

    }

    ?

    使用注意

  • 避免每次進行BeanMap map = BeanMap.create();創建對象,不同于BeanCopier對象,BeanMap主要針對對象實例進行處理,所以一般建議是map.setBean(pojo);進行動態替換持有的對象實例。
  • 應用場景:針對put,putAll操作會直接修改pojo對象里的屬性,所以可以通過beanMap.putAll(map)進行map<->pojo屬性的拷貝。
  • ?

    BeanGenerator

    ?? 暫時沒有想到合適的使用場景,不過BeanGenerator使用概念是很簡單的,就是將一個Map<String,Class>properties的屬性定義,動態生成一個pojo bean類。

    ?

    BeanGenerator?generator?=?new?BeanGenerator();
    generator.addProperty("intValue",?int.class);
    generator.addProperty("integer",?Integer.class);
    generator.addProperty("properties",?Properties.class);
    ???????
    Class?clazz?=?(Class)?generator.createClass();
    Object?obj?=?generator.create();

    PropertyDescriptor[]?getters?=?ReflectUtils.getBeanGetters(obj.getClass());
    for?(PropertyDescriptor?getter?:?getters)?{
    ????Method?write?=?getter.getWriteMethod();
    ????System.out.println(write.getName());
    }

    ?

    ImmutableBean

    bean Immutable模式的一種動態class實現,Immutable模式主要應用于服務設計上,返回的pojo bean對象,不運行進行write方法調用

    說明

    個人是不太建議使用cglib動態class的方式來實現bean Immutable的模式,Immutable模式應該是一種服務接口上的顯示聲明,而不是如此隱晦,而且pojo bean盡量做到是輕量級,簡答的set/get方法,如果要做充血的領域模型那就另當別論了。

    ?

    reflect (class,method處理)

    FastClass

    顧明思義,FastClass就是對Class對象進行特定的處理,比如通過數組保存method引用,因此FastClass引出了一個index下標的新概念,比如getIndex(String name, Class[] parameterTypes)就是以前的獲取method的方法。
    通過數組存儲method,constructor等class信息,從而將原先的反射調用,轉化為class.index的直接調用,從而體現所謂的FastClass。

    public?class?FastClassTest?{
    ????public?static?void?main(String?args[])?throws?Exception?{
    ????????System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY,?"/home/ljh/cglib");

    ????????FastClass?clazz?=?FastClass.create(FastSource.class);
    ????????//?fast?class反射調用
    ????????FastSource?obj?=?(FastSource)?clazz.newInstance();
    ????????clazz.invoke("setValue",?new?Class[]?{?int.class?},?obj,?new?Object[]?{?1?});
    ????????clazz.invoke("setOther",?new?Class[]?{?int.class?},?obj,?new?Object[]?{?2?});

    ????????int?value?=?(Integer)?clazz.invoke("getValue",?new?Class[]?{},?obj,?new?Object[]?{});
    ????????int?other?=?(Integer)?clazz.invoke("getOther",?new?Class[]?{},?obj,?new?Object[]?{});
    ????????System.out.println(value?+?"?"?+?other);
    ????????//?fastMethod使用
    ????????FastMethod?setValue?=?clazz.getMethod("setValue",?new?Class[]?{?int.class?});
    ????????System.out.println("setValue?index?is?:?"?+?setValue.getIndex());

    ????????FastMethod?getValue?=?clazz.getMethod("getValue",?new?Class[]?{});
    ????????System.out.println("getValue?index?is?:?"?+?getValue.getIndex());

    ????????FastMethod?setOther?=?clazz.getMethod("setOther",?new?Class[]?{?int.class?});
    ????????System.out.println("setOther?index?is?:?"?+?setOther.getIndex());

    ????????FastMethod?getOther?=?clazz.getMethod("getOther",?new?Class[]?{});
    ????????System.out.println("getOther?index?is?:?"?+?getOther.getIndex());
    ????????//?其他
    ????????System.out.println("getDeclaredMethods?:?"?+?clazz.getJavaClass().getDeclaredMethods().length);
    ????????System.out.println("getConstructors?:?"?+?clazz.getJavaClass().getConstructors().length);
    ????????System.out.println("getFields?:?"?+?clazz.getJavaClass().getFields().length);
    ????????System.out.println("getMaxIndex?:?"?+?clazz.getMaxIndex());
    ????}
    }

    class?FastSource?{
    ????private?int?value;
    ????private?int?other;

    }

    proxy (spring aop相關)

    總體類結構圖:

    ?

    Callback & CallbackGenerator

  • MethodInterceptor
    • 類似于spring aop的around Advise的功能,大家都知道,不多做介紹。唯一需要注意的就是proxy.invokeSuper和proxy.invoke的區別。invokeSuper是退出當前interceptor的處理,進入下一個callback處理,invoke則會繼續回調該方法,如果傳遞給invoke的obj參數出錯容易造成遞歸調用
  • Dispatcher, ProxyRefDispatcher
    • 類似于delegate的模式,直接將請求分發給具體的Dispatcher調用,是否有著接口+實現分離的味道,將接口的方法調用通過Dispatcher轉到實現target上。ProxyRefDispatcher與Dispatcher想比,loadObject()多了個當前代理對象的引用。
    • //反編譯的部分代碼
      public?final?int?cal(int?i,?int?j)
      {
      ????????CGLIB$CALLBACK_1;
      ????????if(CGLIB$CALLBACK_1?!=?null)?goto?_L2;?else?goto?_L1
      _L1:
      ????????JVM?INSTR?pop?;
      ????????CGLIB$BIND_CALLBACKS(this);
      ????????CGLIB$CALLBACK_1;
      _L2:
      ????????loadObject();?//每次都進行調用
      ????????(DefaultCalcService);
      ????????i;
      ????????j;
      ????????cal();?//調用實現類的方法
      ????????return;
      ????}?
      ?
  • LazyLoader
    • 相比于Dispatcher,lazyLoader在第一次獲取了loadObject后,會進行緩存,后續的請求調用都會直接調用該緩存的屬性.
    • //反編譯部分代碼
      public?final?int?cal(int?i,?int?j)
      {
      ????this;
      ????return?((DefaultCalcService)CGLIB$LOAD_PRIVATE_3()).cal(i,?j);
      }

      private?final?synchronized?Object?CGLIB$LOAD_PRIVATE_3()
      {
      ????????CGLIB$LAZY_LOADER_3;?//保存的屬性
      ????????if(CGLIB$LAZY_LOADER_3?!=?null)?goto?_L2;?else?goto?_L1
      _L1:
      ????????JVM?INSTR?pop?;
      ????????this;
      ????????CGLIB$CALLBACK_3;
      ????????if(CGLIB$CALLBACK_3?!=?null)?goto?_L4;?else?goto?_L3
      _L3:
      ????????JVM?INSTR?pop?;
      ????????CGLIB$BIND_CALLBACKS(this);
      ????????CGLIB$CALLBACK_3;
      _L4:
      ????????loadObject();
      ????????JVM?INSTR?dup_x1?;
      ????????CGLIB$LAZY_LOADER_3;
      _L2:
      ????????return;
      ????}
  • NoOp
    • 不做任何處理,結合Filter針對不需要做代理方法直接返回,調用其原始方法
  • FixedValue
    • 強制方法返回固定值,可結合Filter進行控制
  • InvocationHandler(提供和jdk proxy的功能),不常用
  • CallbackFilter

    主要的作用就是callback調度,主要的一個方法:int accept(Method method);?
    返回的int在int值,代表對應method需要插入的callback,會靜態生成到class的代碼中,這樣是cglib proxy區別于jdk proxy的方式,一個是靜態的代碼調用,一個是動態的reflect。
    可以查看: Enhancer類中的emitMethods方法,line:883。在構造class method字節嗎之前就已經確定需要運行的callback。

    ?

    Enhancer

    System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY,?"/home/ljh/cglib");
    LogInteceptor?logInteceptor?=?new?LogInteceptor();
    CalDispatcher?calDispatcher?=?new?CalDispatcher();
    CalcProxyRefDispatcher?calcProxyRefDispatcher?=?new?CalcProxyRefDispatcher();
    LazyLoaderCallback?lazyLoaderCallback?=?new?LazyLoaderCallback();

    Enhancer?enhancer?=?new?Enhancer();
    enhancer.setSuperclass(CalcService.class);?//接口類
    enhancer.setCallbacks(new?Callback[]?{?logInteceptor,?calDispatcher,?calcProxyRefDispatcher,lazyLoaderCallback,?NoOp.INSTANCE?});?//?callback數組
    enhancer.setCallbackFilter(new?CalcCallbackFilter());?//?filter
    CalcService?service?=?(CalcService)?enhancer.create();

    int?result?=?service.cal(1,?1);

    Util? (工具類,感覺有點雞肋)

    • StringSwitcher 提供string和int的map映射查詢,給定一個string字符串,返回同個下標數組的int值,感覺很雞肋,用Map不是可以很快速的實現功能
    • ParallelSorter 看了具體的代碼,沒啥意思,就是提供了一個二分的快速排序和多路歸并排序。沒有所謂的并行排序,原本以為會涉及多線程處理,可惜沒有

    transform

    ???? 暫時沒仔細研究,更多的是對asm的封裝,等下次看了asm代碼后再回來研究下。

    http://www.blogjava.net/agapple/archive/2010/11/01/336730.html

    ?

    轉載于:https://www.cnblogs.com/softidea/p/5608962.html

    總結

    以上是生活随笔為你收集整理的cglib源码学习交流的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    精品一区二区在线观看 | 中文字幕亚洲精品在线观看 | 在线99| 9草在线| 日韩精品一区二区三区在线播放 | 欧美一区二区在线免费观看 | 天天躁天天躁天天躁婷 | www一起操| 欧美a√在线 | 在线观看的a站 | 欧美日韩精品在线视频 | 1024手机基地在线观看 | 国产理论在线 | 久久精品香蕉 | 色婷婷国产精品一区在线观看 | 日日夜夜人人天天 | 激情综合五月婷婷 | 国产精品ⅴa有声小说 | 亚洲午夜久久久久久久久久久 | 91九色蝌蚪| 在线观看黄色免费视频 | 午夜黄网 | 中文字幕频道 | 国内丰满少妇猛烈精品播放 | 一区二区三区中文字幕在线观看 | 久久久久一区二区三区 | 中文字幕一二三区 | 国产一区免费视频 | 免费亚洲精品视频 | 免费不卡中文字幕视频 | 天天操天天操天天操天天操天天操 | 亚洲免费av网站 | 日韩中文三级 | 欧美精品一区二区蜜臀亚洲 | 天天操天天操天天操天天操天天操天天操 | 久久久久在线观看 | 国产精品免费一区二区三区在线观看 | 中文字幕在线观看91 | 欧美大片aaa | 国产精品色在线 | 91伊人| 热re99久久精品国产66热 | 日韩一级片观看 | 五月婷社区 | 中文字幕久久精品亚洲乱码 | 国产一级久久 | 免费看片色 | 人人插人人艹 | www黄色软件 | 日本丶国产丶欧美色综合 | av中文电影| 九九热1| 国产操在线 | 日韩丝袜| 在线看v片成人 | 国产日韩精品在线观看 | 91精品亚洲影视在线观看 | 国产成人综 | 午夜久久电影网 | 欧美,日韩 | 一本一本久久aa综合精品 | 国产一区二区视频在线播放 | 国产香蕉97碰碰久久人人 | 韩日精品在线观看 | 久久国产综合视频 | 精品久久免费 | 丁香免费视频 | 日韩大片免费观看 | 国产色在线视频 | 视频成人免费 | 天天搞天天干天天色 | 亚州国产精品久久久 | 国产精品九色 | 中文av网站 | 国产精品自在线 | 亚洲一区黄色 | 国产精品毛片久久久久久 | 丁香影院在线 | 在线观看亚洲成人 | 日韩精品第一区 | 国产成人精品不卡 | 91色亚洲 | 色婷婷激婷婷情综天天 | 黄色a三级 | 国产小视频免费观看 | 久草在线手机视频 | 亚州欧美视频 | 日韩有码在线播放 | 91看片淫黄大片一级在线观看 | 日韩三级视频在线观看 | 久久国产麻豆 | 三上悠亚在线免费 | 免费观看视频黄 | 国产一级在线播放 | 亚洲黄色精品 | 国内精品久久久久国产 | 欧美黑吊大战白妞欧美 | 久久久午夜精品理论片中文字幕 | 福利网在线| 亚洲精品乱码 | 亚洲综合色网站 | 久久久久综合视频 | 亚洲精品在线资源 | 日韩免费av网址 | 日本公妇在线观看 | 日日夜夜精品免费 | 亚洲一区尤物 | 人人草在线视频 | 精品久久久久久久久久久久久 | 婷婷六月中文字幕 | 成人在线播放网站 | 久久久九九 | 日韩手机在线 | 最新国产精品亚洲 | 亚洲国产精品影院 | 奇米影视8888 | 99久久精品午夜一区二区小说 | 日韩免费电影网 | 亚洲国产成人精品电影在线观看 | 日本中文字幕高清 | 亚洲精品在线国产 | 亚洲色图av | 亚洲综合丁香 | 国产精品99久久久久久大便 | v片在线播放 | www最近高清中文国语在线观看 | 久久久av免费 | 国语对白少妇爽91 | 亚洲精品资源在线观看 | 97超碰精品 | 精品一区二区久久久久久久网站 | 干干干操操操 | 在线观看 国产 | 国产精品麻豆视频 | 正在播放国产精品 | 高潮久久久久久 | 亚洲经典视频在线观看 | 日韩毛片在线一区二区毛片 | 日本在线观看中文字幕无线观看 | 密桃av在线 | 丝袜美腿亚洲 | 丰满少妇麻豆av | 欧美日韩国产精品一区二区亚洲 | 91亚洲在线观看 | 国产69精品久久久久久 | 天天射天天爱天天干 | 国产在线更新 | 免费亚洲视频在线观看 | 国产美腿白丝袜足在线av | 国产精品免费久久久 | 欧美资源| 婷婷视频在线 | 国产精品美女免费 | 国产 在线观看 | 国产亚洲精品美女久久 | 国产在线国偷精品产拍免费yy | 片黄色毛片黄色毛片 | 色婷av| www黄色大片 | 国产经典av| 手机av电影在线 | 国产高清黄 | 在线观看片 | 欧美另类高清 videos | 99综合视频| 成人午夜电影在线播放 | 香蕉视频在线播放 | 日韩欧美在线不卡 | 久久久国内精品 | 天天干天天干天天射 | 久草视频国产 | 国产一级二级三级在线观看 | 国产涩图 | 在线免费观看视频一区 | 亚洲91精品在线观看 | 婷婷色六月天 | 免费日韩av片 | 婷婷激情五月 | 免费在线中文字幕 | 一区国产精品 | 久久婷婷激情 | 日韩国产精品久久久久久亚洲 | 久久激情视频 久久 | 欧美性生活大片 | 国产精品第一页在线 | 黄色的网站在线 | 狠狠狠色丁香综合久久天下网 | 色综合婷婷 | 91成人精品观看 | 国产精品99久久免费黑人 | 一级黄色片毛片 | 国产系列在线观看 | 午夜精品一区二区三区可下载 | 97涩涩视频| 热久久免费视频精品 | 国产精品久久一卡二卡 | 亚洲视频1区2区 | 夜夜爽夜夜操 | 国产91影院| 久久精品视频在线观看免费 | www.国产毛片 | 成人毛片一区 | 日韩字幕在线观看 | 在线国产小视频 | 97精品欧美91久久久久久 | 久久视频在线观看 | 久久久久免费看 | 黄色三级免费看 | 欧美日韩高清在线观看 | 久久免费成人网 | 久久视频免费观看 | 97国产电影 | www狠狠操 | 香蕉影院在线播放 | 久久九九影视网 | 在线看国产视频 | 亚洲成人免费 | 园产精品久久久久久久7电影 | 亚洲欧美精品一区 | 亚洲精品视频二区 | 亚洲一区二区高潮无套美女 | 中文字幕在线看视频国产中文版 | 日韩在线视频观看免费 | 国产免费人成xvideos视频 | 天天干天天操天天 | 国产美女在线免费观看 | 久久久久高清毛片一级 | 成人毛片一区二区三区 | 亚洲成人av一区 | 深夜免费福利在线 | 亚洲高清国产视频 | 久久99久久99 | 欧美一级免费 | 99欧美视频 | 精品久久久久久亚洲综合网 | 国产免费观看高清完整版 | 亚洲国产三级在线 | 日p视频 | 国产麻豆精品久久一二三 | 99热国产精品 | 在线午夜电影神马影院 | 天堂中文在线播放 | 少妇精品久久久一区二区免费 | 欧美在线视频一区二区三区 | 9999精品免费视频 | 国产精品久久久视频 | 99精品国产99久久久久久福利 | 中文字幕成人一区 | av在线观| 九九九热精品免费视频观看 | 操操操操网| 天天曰夜夜爽 | 亚洲人成免费网站 | 国产一级淫片在线观看 | 一级免费看视频 | 亚洲精区二区三区四区麻豆 | 色99中文字幕 | 1024手机基地在线观看 | 亚洲精品自拍 | 九九电影在线 | 国产成人精品午夜在线播放 | 色av色av色av| 亚洲精品tv久久久久久久久久 | 精品国产电影一区二区 | 爱色av.com| 最新av在线网站 | 亚洲视频一 | 九九热有精品 | 一区二区三区国产欧美 | 国产免费久久 | 99久久精品国产欧美主题曲 | 日韩大片在线免费观看 | 色视频在线免费观看 | 狠狠综合久久 | 日本护士撒尿xxxx18 | 欧美性生活久久 | 免费亚洲精品视频 | 中文字幕日韩av | 成人午夜久久 | 日韩视频一区二区 | 狠狠色狠狠综合久久 | 久久久国产精品成人免费 | 婷婷99| 日韩系列| 狠狠干天天色 | www.五月天婷婷 | 在线91播放 | www.伊人色.com| 99精品偷拍视频一区二区三区 | 天天操天天色综合 | 国产高潮久久 | 在线成人短视频 | 91一区啪爱嗯打偷拍欧美 | 在线视频日韩一区 | 永久av免费在线观看 | 国产在线超碰 | 久99久在线视频 | 日本韩国中文字幕 | 色综合天天综合在线视频 | 97av影院 | 国产婷婷精品 | 国产系列 在线观看 | 国产精品久久久久久久久久久久久 | 一区二区三区中文字幕在线 | 久久综合久久综合这里只有精品 | 黄色a一级视频 | 久久极品 | 亚洲高清av| 999电影免费在线观看 | 欧美另类巨大 | 成人精品久久久 | 中文字幕在线观看免费高清完整版 | 成av在线 | 69av免费视频 | 日韩在线观看视频免费 | 久草精品视频在线播放 | 一级黄色视屏 | 免费看片网址 | 国产高清网站 | 久久草在线精品 | 亚洲国产精品传媒在线观看 | 日韩最新理论电影 | 96亚洲精品久久久蜜桃 | 在线黄色免费av | 欧美一级片在线免费观看 | 一区二区三区日韩在线 | 久久91网| 人人插人人做 | 亚洲欧美日韩不卡 | 天天看天天操 | 激情久久小说 | 国产一级免费观看视频 | 久久成人精品视频 | 中文字幕第一 | 国产精彩视频 | 天天想夜夜操 | 国产一区二区在线观看视频 | 三级av免费观看 | 日日干天夜夜 | 一级免费观看 | 国产精品久久久久久久久久久久午 | 亚洲 综合 专区 | 91亚洲精品久久久蜜桃 | 婷婷精品国产欧美精品亚洲人人爽 | 91亚洲国产 | 天天综合网 天天综合色 | 久久久久久蜜桃一区二区 | 亚洲自拍av在线 | 毛片网站观看 | 国内外成人免费在线视频 | 人人草人 | 国产精品免费小视频 | 91超级碰 | 97超碰在线久草超碰在线观看 | 偷拍视频一区 | 欧美精选一区二区三区 | 69国产盗摄一区二区三区五区 | 婷婷激情久久 | av综合 日韩| 岛国精品一区二区 | 国产成人一区二区三区在线观看 | 国产在线观看二区 | 久草在线免费看视频 | 91av手机在线观看 | 人人爽人人舔 | 永久免费观看视频 | 亚洲免费a | 在线观看视频97 | 中文字幕在线观看日本 | av在线免费不卡 | 亚洲爱爱视频 | 国产乱对白刺激视频在线观看女王 | 色五婷婷 | 一区 二区电影免费在线观看 | av片在线观看免费 | 亚洲人成在线观看 | 天天操天天舔天天爽 | 久久久久电影网站 | 国产精品 美女 | 81国产精品久久久久久久久久 | 99免费在线视频观看 | 午夜视频黄 | 啪啪资源 | 美女网站在线观看 | 97精品久久人人爽人人爽 | 色婷婷狠狠操 | 成人午夜电影在线播放 | 狠狠操电影网 | 久久久久免费精品 | 黄色一级大片在线免费看国产一 | 四虎国产精品成人免费4hu | 日韩精品中文字幕一区二区 | 欧美日韩一区二区三区在线免费观看 | 色婷婷免费视频 | 亚洲一级片在线看 | 亚洲 欧美 国产 va在线影院 | 国产毛片aaa| 日韩免费三级 | 91中文字幕视频 | 日本精品午夜 | 最新日本中文字幕 | 婷婷综合亚洲 | 成人在线免费视频 | 奇米网777 | 美女久久网站 | 日本久久免费视频 | 亚洲精品乱码久久久久久按摩 | 日韩精品无码一区二区三区 | 久久精品一区八戒影视 | 成人动图 | 日日干美女 | 免费的成人av | 久久久久国产精品午夜一区 | 午夜av网站| 超级av在线| 午夜精品一区二区三区免费视频 | 波多野结衣在线播放视频 | 九九热国产 | zzijzzij亚洲成熟少妇 | 亚洲高清久久久 | av免费在线观看网站 | 91免费看黄 | www.夜色321.com | 亚洲精品毛片一级91精品 | 黄色精品网站 | 久久久久女教师免费一区 | 亚洲精品国产精品99久久 | 精品久久网 | 亚洲黄色在线免费观看 | 人人看人人艹 | 中文字幕精品一区久久久久 | 在线观看日韩一区 | 久久国产网 | 日韩精品免费一线在线观看 | 黄色免费网站 | 深爱激情五月婷婷 | 久99久在线视频 | 日韩在线视频看看 | 亚洲精品国产精品久久99热 | 青青草视频精品 | 久久久久国产视频 | 国产成人精品一区二区三区福利 | 欧美天堂视频在线 | 亚洲午夜精品电影 | 精品在线99 | 免费成人av在线看 | 国产精品久久久99 | 久久久精选 | 成人av在线电影 | 五月婷在线观看 | 丁香九月激情综合 | 中文字幕激情 | 国产黄色在线 | 亚洲国产人午在线一二区 | 天堂网av 在线 | 热久久这里只有精品 | 色综合在 | 日韩视频免费看 | 久草在线最新免费 | 免费成人av在线看 | 一区二区三区在线视频观看58 | 黄色大全免费观看 | 色激情在线 | 96看片| 99久久精品无免国产免费 | 国产日产av | 久久精品中文字幕一区二区三区 | 中文字幕丝袜制服 | 亚洲不卡123 | 欧美日韩国产在线一区 | 免费观看一级特黄欧美大片 | 日韩精品免费一区二区在线观看 | 国产美女免费观看 | 久久久久久久av麻豆果冻 | 正在播放国产一区二区 | 免费日韩 精品中文字幕视频在线 | 成人91av| 国产精品久久久久久久久久ktv | 日日爱网站| 成片免费观看视频999 | 成人免费在线播放 | 亚洲精品国产精品久久99 | 亚洲精品免费看 | 国产高清 不卡 | 国产在线欧美 | 天海冀一区二区三区 | 婷婷免费在线视频 | 国产精品18久久久 | 色婷婷视频在线观看 | 中文字幕电影在线 | 亚洲精品国内 | 国产视频二区三区 | 视频在线一区二区三区 | 狠狠躁18三区二区一区ai明星 | 日韩在线观看三区 | 9999免费视频 | 中文字幕一区二区三区在线观看 | 成人免费视频免费观看 | 国产精品少妇 | av官网| 蜜臀av性久久久久av蜜臀三区 | a在线观看国产 | 国产精品美女久久久久久久久久久 | av片中文字幕 | av视屏在线播放 | 久久久久亚洲精品中文字幕 | 99久久爱| 亚洲精品国产精品国自产 | 香蕉色综合| 精品一区二区免费视频 | 国产精品都在这里 | 99热在线国产 | 综合五月 | 日韩精品一区二区三区高清免费 | а天堂中文最新一区二区三区 | 精品久久一区 | 日本三级久久久 | 99热在线观看 | 久久久www | 婷婷五天天在线视频 | 色视频在线免费 | 久久久精品国产免费观看同学 | 西西444www大胆高清图片 | 国产精品一区二区三区在线播放 | 免费a级大片 | 久久免费视频网站 | 欧美成人黄色 | 久久久久日本精品一区二区三区 | 国产 日韩 欧美 在线 | 欧美伊人网 | 久久免费看 | 久久成人亚洲欧美电影 | 91在线视频精品 | 91传媒在线 | 国内丰满少妇猛烈精品播放 | 中文字幕 国产精品 | 亚洲精品男人天堂 | 日韩小视频网站 | 在线日韩一区 | 欧洲亚洲国产视频 | 人人草网站 | 国产96在线 | av免费在线免费观看 | 欧美一级黄大片 | 欧美久久电影 | 国产女教师精品久久av | 99久久爱| 免费电影一区二区三区 | 免费a视频在线观看 | 久草在线免费电影 | 亚洲一区免费在线 | 色综合久久天天 | 成人午夜免费剧场 | 最近中文字幕免费视频 | 国产福利中文字幕 | 欧美在线aa | 狠狠躁天天躁综合网 | 中文在线a∨在线 | av电影免费在线 | 久草在线手机视频 | 国模视频一区二区三区 | 91av亚洲| 瑞典xxxx性hd极品 | 欧美a级片免费看 | 最新精品国产 | 91精品视频在线观看免费 | 九九免费视频 | 99在线视频网站 | 国产成人精品久久久 | 婷婷五月在线视频 | 五月天视频网 | 日韩系列在线 | 丁香久久婷婷 | 视频在线精品 | 黄色国产高清 | 99这里只有久久精品视频 | 欧美日韩精| 精品久久久久久久久久岛国gif | 午夜av在线免费 | 久久99久久精品国产 | 五月天久久狠狠 | 免费在线激情电影 | 精品久久一 | 高清免费av在线 | 色婷婷精品大在线视频 | 一区二区三区在线视频111 | 黄色h在线观看 | 五月激情丁香图片 | 国产不卡网站 | 日韩性xxx| 99精品视频在线播放观看 | 久久国产美女视频 | 中文在线亚洲 | 亚洲国产剧情av | 免费日韩 精品中文字幕视频在线 | 成人在线播放视频 | 亚洲免费在线观看视频 | 韩日精品在线 | 久久视频在线视频 | 成人国产网址 | 日韩免费不卡av | www.xxxx欧美| 日日躁夜夜躁xxxxaaaa | 精品中文字幕在线观看 | 国产 在线 高清 精品 | 日女人免费视频 | 欧美日韩免费一区二区 | 国产精品丝袜 | 国产精品成 | 亚洲精品天天 | 欧美激情精品久久久久久免费印度 | 在线之家官网 | 国产资源在线播放 | 国产三级久久久 | 国产精品第一 | 欧美va天堂在线电影 | 黄色一级免费 | 亚洲欧美日韩国产一区二区 | 天堂av免费看 | 久久国内精品视频 | 日韩欧美一区二区三区在线观看 | 日本久久不卡视频 | 婷婷综合亚洲 | 欧美在线视频日韩 | 国产色爽 | 国产中文字幕视频在线观看 | 久久精品国产精品亚洲 | 欧美精品在线一区 | 日韩电影在线视频 | 国产精品 中文在线 | 日韩av成人免费看 | 丁香六月国产 | 国产成人精品在线观看 | 91精彩视频在线观看 | 国产福利在线 | 911av视频 | 久久精选视频 | 日本在线视频一区二区三区 | 一区二区中文字幕在线播放 | 99婷婷| av黄色一级片| 国产精品 国产精品 | 91亚洲网站| 97精品国自产拍在线观看 | 人人射人人插 | 天天干天天爽 | 97精品久久 | 综合婷婷丁香 | 男女激情麻豆 | 日韩精品视频免费 | 人人干人人干人人干 | 九色精品免费永久在线 | 久久午夜网 | 午夜美女福利直播 | 日本精品中文字幕在线观看 | 91综合久久一区二区 | 2019中文字幕第一页 | 玖玖国产精品视频 | 人人爽人人 | 免费在线观看av片 | 日韩精品一区二区三区外面 | 午夜成人免费影院 | 麻豆视频国产精品 | 国产精品一区二区久久久久 | 最近高清中文字幕 | 又黄又爽又色无遮挡免费 | 午夜精品久久久久久久久久久久久久 | 国产亚洲精品女人久久久久久 | 国产黄a三级三级三级三级三级 | 又黄又爽的免费高潮视频 | 天天操夜夜逼 | 欧美精品久久久久久久免费 | 亚洲视频六区 | 伊人电影天堂 | 国产精品久久久久永久免费 | 国产中文字幕91 | 国产精品原创av片国产免费 | 国产呻吟在线 | 日p视频在线观看 | 女人高潮特级毛片 | 国产黄色特级片 | 欧美精选一区二区三区 | 久久久久久久久电影 | 九月婷婷综合网 | 国产色在线视频 | 国产精品中文字幕在线播放 | 伊人色播 | 亚洲精品国偷拍自产在线观看 | 亚洲精品动漫久久久久 | 国产在线v | 一区二区精品国产 | 色99导航| 色亚洲激情 | 99精品久久久久 | 免费日韩一区二区三区 | 超碰在线最新地址 | 精品亚洲视频在线 | 国产永久免费观看 | 亚洲婷婷在线 | av 在线观看| 69国产盗摄一区二区三区五区 | 欧美性黄网官网 | 99精品视频在线看 | 黄色在线免费观看网址 | 五月视频| 日韩电影一区二区在线观看 | 亚洲精品国偷自产在线91正片 | 久草在线资源网 | 天堂网一区二区三区 | 色五月色开心色婷婷色丁香 | 久久美女电影 | 深爱五月激情五月 | 精品久久久一区二区 | 在线免费高清视频 | 婷婷六月天丁香 | 欧美日韩视频在线观看免费 | 天天色成人 | 久久精品99 | 日日日操操| 国产一区二区久久 | 亚洲传媒在线 | 国产精品小视频网站 | av高清不卡 | 免费在线观看91 | 国产不卡视频在线 | 国产色影院 | 中文字幕一区二区三区在线播放 | 中文字幕免费观看视频 | 国产亚洲综合在线 | 在线播放视频一区 | 一区二区三区四区精品 | av色网站 | 麻豆 91 在线| 日本黄色大片免费看 | 欧美精品免费一区二区 | 日本特黄一级片 | 欧美成人性战久久 | 欧美伦理一区 | 成人永久在线 | 五月婷婷在线观看视频 | 欧美aa级| 国产成人av在线影院 | 在线黄色免费av | 亚洲欧美成人 | 黄色软件在线看 | av一区二区三区在线播放 | 欧美另类高潮 | 可以免费观看的av片 | 96精品在线 | 国产成人99av超碰超爽 | 国产精品综合久久久久久 | 久久久久这里只有精品 | 日本高清中文字幕有码在线 | 99在线精品观看 | 日韩精品久久久免费观看夜色 | 18国产精品福利片久久婷 | 欧美性生交大片免网 | 天天艹日日干 | 黄污网站在线观看 | 91国内产香蕉 | 在线免费观看国产精品 | 亚洲视频1区2区 | 国产免费亚洲高清 | 亚洲精品国产综合99久久夜夜嗨 | 欧美日韩国内在线 | 中文字幕中文字幕中文字幕 | 国产原厂视频在线观看 | 97超碰人人模人人人爽人人爱 | 久久超碰免费 | 婷婷四房综合激情五月 | 少妇bbb搡bbbb搡bbbb | 亚洲婷婷在线视频 | 91观看视频 | 免费大片黄在线 | 欧美另类高清 | 亚洲一级理论片 | av片免费播放 | 干天天| 久久黄色片| 在线蜜桃视频 | 亚洲综合在线五月 | 日本公妇色中文字幕 | 亚洲综合色av | 在线黄色免费av | 免费看色网站 | 成人av在线亚洲 | 久久综合久久88 | 99久久er热在这里只有精品15 | 玖玖精品视频 | 亚洲一级理论片 | 在线 国产 亚洲 欧美 | 日韩中文字幕视频在线观看 | 久青草视频在线观看 | 夜夜摸夜夜爽 | 亚洲麻豆精品 | 亚州精品在线视频 | 久久免费精品一区二区三区 | 五月天综合激情 | 免费99| 日日夜夜天天 | 日韩电影在线视频 | 黄色网址国产 | 久久公开免费视频 | 又黄又爽又色无遮挡免费 | 亚洲欧美成人在线 | 久久免费精品视频 | 91福利在线观看 | 国产精品破处视频 | 国产自产在线视频 | 成人免费色 | 777视频在线观看 | 欧美色综合天天久久综合精品 | 91经典在线 | 国产在线a视频 | 亚洲成av人影片在线观看 | 国产一区二区高清不卡 | 亚洲精品国精品久久99热一 | 999国内精品永久免费视频 | 欧美一区二区三区不卡 | 国产一区二区三区四区在线 | 麻豆手机在线 | 国产中文在线观看 | 免费看网站在线 | 国产亚洲成av片在线观看 | 91福利视频网站 | 在线看黄色的网站 | 日女人免费视频 | 黄色国产成人 | 国产精品精品久久久久久 | 香蕉网在线观看 | 五月综合色| 欧美日韩在线精品 | 欧美激情综合五月 | 91成人看片 | 亚洲.www| 亚洲理论电影网 | www.超碰| 狠狠色2019综合网 | 91精品在线免费观看 | 国产在线观看二区 | 国产亚州av | 久久精品视频2 | 黄色av一区二区三区 | 亚洲干| 丰满少妇在线观看 | 精品二区久久 | 婷婷综合av | 欧美日韩免费一区二区三区 | 国产又粗又猛又色又黄网站 | 一级片在线 | 国产亚洲精品久久久久久网站 | 久久国产一区 | 日本久久成人中文字幕电影 | 国产在线精品福利 | 国产精品久久久久久一二三四五 | 日韩性xxxx | 最近中文字幕完整高清 | 国产做a爱一级久久 | 亚洲 中文 在线 精品 | 国产一区二区高清视频 | 日韩爱爱片 | 久要激情网 | 2024国产精品视频 | 成年人免费看片网站 | 中文字幕一区2区3区 | 色欧美88888久久久久久影院 | 天天操夜夜看 | 又黄又刺激又爽的视频 | 久久综合狠狠 | 天天拍天天操 | 日韩免费在线视频观看 | 四虎影视精品 | 福利视频精品 | 成人高清在线观看 | 99热手机在线观看 | 天天亚洲综合 | 国产精在线 | 午夜国产福利在线观看 | av色综合 | 三级av网站 | 毛片一级免费一级 | 欧美日本不卡视频 | 成年人在线观看 | 日本不卡123区 | 伊人天天色| 超碰电影在线观看 | 9在线观看免费高清完整版 玖玖爱免费视频 | 免费热情视频 | 欧美伦理一区二区三区 | 青青久视频 | 成人免费在线视频 | 欧美精品久久久久久久免费 | 欧美三级在线播放 | 激情伊人 | 欧美三人交 | 9久久精品| 免费日韩一区二区三区 | 日韩视频区 | 2020天天干夜夜爽 | 中文字幕一区二区三区四区视频 | 久久久久免费网 | 在线免费av观看 | 欧美日韩在线观看一区 | 日韩视频1区 | 在线观看岛国av | 久久久国产电影 | 日韩av午夜在线观看 | 九九亚洲视频 | 亚洲成人午夜在线 | 欧美一区二视频在线免费观看 | 国内成人精品2018免费看 | 亚洲伦理中文字幕 | 精品影院一区二区久久久 | 日p视频 | 国产一区视频在线观看免费 | 欧美日韩国产一区二区三区 | 国产91精品一区二区绿帽 | 伊人网av | 色综合久久久久综合体桃花网 | 国产精品自产拍 | 欧美 亚洲 另类 激情 另类 | 日本资源中文字幕在线 | 日韩免费专区 | 99久热 | 黄色免费电影网站 | 就要干b | 国产视频日本 | 九九色在线观看 | 久久九九久久 | 欧美性极品xxxx娇小 | 亚洲精品久久久久www | 亚洲国产精品久久久久久 | 精品国产一区二区三区男人吃奶 | 国产不卡在线观看 | 丁香花在线观看免费完整版视频 | 欧美亚洲久久 | 久久九九网站 | 最新日韩在线观看视频 | 在线观看久久久久久 | 欧美另类调教 | 国产只有精品 | 日韩在线播放欧美字幕 | 国产一区福利在线 | 高清免费在线视频 | 亚洲三级性片 | 在线观看日本韩国电影 | www.久久久com| 最近中文字幕免费av | 五月婷婷毛片 | 国产精品久久久久久一区二区三区 | 欧美日韩精品在线一区二区 | 人人澡视频 | 免费精品国产 | 91av中文| 丁香婷婷基地 | 狠狠躁夜夜躁人人爽视频 | 久久99国产精品久久99 | 国产精品九九视频 | 久久av免费 | 蜜臀av网站 | 国产亚洲va综合人人澡精品 | 99精品在线观看 | 国产一区成人在线 | 国产一区二区三区免费视频 | 色视频国产直接看 | 亚洲国产精品久久久久婷婷884 | 久久久久久久久久网 | 国产高清免费 | 狠狠干夜夜操天天爽 | 色多多污污 | 久久精品毛片基地 | 久久久蜜桃一区二区 | 精品视频久久 | 久久久免费观看 | 久久国产精品偷 | 91成人短视频在线观看 | 亚洲性少妇性猛交wwww乱大交 | 99久在线精品99re8热视频 | 久久精品com| 在线 视频 一区二区 | 视频一区二区在线 | 手机成人在线电影 | 天堂资源在线观看视频 | 亚洲国产成人在线 | 四虎www | 激情婷婷在线观看 | 亚洲韩国一区二区三区 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | av免费看在线 | 日韩精品免费在线 | 揉bbb玩bbb少妇bbb | 国产成人91 | 国产婷婷vvvv激情久 | 热久久免费视频 | 欧美日韩激情视频8区 | 干干干操操操 | 看国产黄色大片 | 在线观看一区 |